<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Using MVC Pattern in Web Interactions - luluping - 博客园</title><meta name="keywords" content="MVC" />
<link type="text/css" rel="stylesheet" href="http://www.cnblogs.com/css/common.css"/>
<link id="MainCss" type="text/css" rel="stylesheet" href="http://www.cnblogs.com/Skins/KJC/style.css"/>
<link type="text/css" rel="stylesheet" href="http://www.cnblogs.com/css/common2.css"/>
<link type="text/css" rel="stylesheet" href="http://common.cnblogs.com/css/shCore.css"/>
<link type="text/css" rel="stylesheet" href="http://common.cnblogs.com/css/shThemeDefault.css"/>
<link title="RSS" type="application/rss+xml" rel="alternate" href="http://www.cnblogs.com/luluping/rss"/>
<link title="RSD" type="application/rsd+xml" rel="EditURI" href="http://www.cnblogs.com/luluping/rsd.xml"/> 
<script src="http://common.cnblogs.com/script/jquery.js" type="text/javascript"></script>  
<script src="/script/common.js" type="text/javascript"></script>
<script src="http://common.cnblogs.com/script/jquery.json-2.2.min.js" type="text/javascript"></script>
</head>
<body>
    <form name="Form1" method="post" action="1236154.html" id="Form1">
<div>
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
<input type="hidden" name="__VIEWSTATE" id="
__VIEWSTATE" value="" />
</div>

<script type="text/javascript">
//<![CDATA[
var theForm = document.forms['Form1'];
if (!theForm) {
    theForm = document.Form1;
}
function __doPostBack(eventTarget, eventArgument) {
    if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
        theForm.__EVENTTARGET.value = eventTarget;
        theForm.__EVENTARGUMENT.value = eventArgument;
        theForm.submit();
    }
}
//]]>
</script>


        
<table class="Framework" cellspacing="0" cellpadding="0" width="100%">
	<tr>
		<td colspan="3">
			
<div id="top">
<table cellpadding="10" cellspacing="0">
	<tr>
		<td nowrap>
			<h1><a id="Header1_HeaderTitle" class="headermaintitle" href="http://www.cnblogs.com/luluping/">luluping</a></h1>
			
		</td>
	</tr>
</table>
</div>
<div id="sub">
	<div id="sub-right">
<div class="BlogStats">posts - 1029, comments - 109, trackbacks - 1, articles - 5</div></div>
	
&nbsp;
<a id="Header1_MyLinks1_HomeLink" href="http://www.cnblogs.com/">博客园</a>&nbsp;::
<a id="Header1_MyLinks1_MyHomeLink" href="http://www.cnblogs.com/luluping/">首页</a>&nbsp;::
<a id="Header1_MyLinks1_NewPostLink" href="http://www.cnblogs.com/luluping/admin/EditPosts.aspx?opt=1">新随笔</a>&nbsp;::
<a id="Header1_MyLinks1_ContactLink" accesskey="9" href="http://space.cnblogs.com/msg/send/linFen">联系</a>&nbsp;::
<a id="Header1_MyLinks1_Syndication" href="http://www.cnblogs.com/luluping/rss">订阅</a>
<a id="Header1_MyLinks1_XMLLink" class="XMLLink" href="http://www.cnblogs.com/luluping/rss"><img src="http://www.cnblogs.com/images/xml.gif" alt="订阅" style="border-width:0px;" /></a>&nbsp;::
<a id="Header1_MyLinks1_Admin" href="http://www.cnblogs.com/luluping/admin/EditPosts.aspx">管理</a>

</div>
		</td>
	</tr>
	<tr>
		<td class="LeftCell">
			<div id="leftmenu">
			</div>
		</td>
		<td class="MainCell">
			<div id="main">
				
					
	<div class="post">
		<div class="posthead">
			<h2>
				<a id="ctl03_TitleUrl" class="singleposttitle" href="http://www.cnblogs.com/luluping/archive/2008/07/05/1236154.html">Using MVC Pattern in Web Interactions</a>
			</h2>
 			Posted on 2008-07-05 10:37 <a href='http://www.cnblogs.com/luluping/'>linFen</a> 阅读(590) <a href='#commentform'>评论(0)</a>  <a href ="#" onclick="open_link('http://www.cnblogs.com/luluping/admin/EditPosts.aspx?postid=1236154')">编辑</a> <a href="#" onclick="AddToWz(1236154);return false;">收藏</a> 
			<img src ="http://www.cnblogs.com/luluping/aggbug/1236154.html?type=1&webview=1" width="1px" height="1px" alt=""/>
			
<!--
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
<rdf:Description
rdf:about="http://www.cnblogs.com/luluping/archive/2008/07/05/1236154.html"
dc:identifier="http://www.cnblogs.com/luluping/archive/2008/07/05/1236154.html"
dc:title=""
trackback:ping="http://www.cnblogs.com/luluping/services/trackbacks/1236154.aspx" />
</rdf:RDF>
-->

		</div>
		<div class="postbody"><DIV class=body_text>
<H3>Why do we need a server side Presentation Layer Architecture?</H3>
<P>The Presentation Layer of a web server application is rarely designed. It's usually just coded. For small and medium sized sites this can work perfectly well but it becomes chaotic on larger sites. This article provides and structure and notation for designing the implementation model for large scale web server presentation layers. This can lead to better project management, more accurate tracking and ultimately better time estimating and closer control. This leads to developer and management confidence that the system under construction will work soundly and will be finished within a reasonable time frame. The advantages for project management and how to track a Presentation Layer development cycle using the techniques in this paper will be discussed in a future White Paper at this site.</P>
<P>The increasing demand on web applications is making them more and more complex. Very quickly they are becoming as sophisticated as many GUI Client/Server applications. This is puting a strain on the traditional "stateless, thin client" idea of a web application. Modern web applications have to carry out conversational transactions with the client. This requires the server to have a firm idea of the client state and a strong knowledge of the transaction boundaries. <A href="http://www.uidesign.net/Articles/Papers/WebMVC-BrowsersTransactio.html"><STRONG><FONT color=#254e84>Part 3</FONT></STRONG></A> of this article will show you how to scope the transaction boundaries within a Presentation Layer and how to enforce them leading to improved Transaction Isolation.</P>
<P>Web Applications are somewhat different from traditional green screen mainframe applications or more recent GUI Client/Server applications, because the client can be manipulated using the Browser and can change to an unknown state. The server must be able to cope comfortably with unexpected events from the client because the user has altered the client state using the Browser Back button or the Browser Goto Bookmark facility. Again <A href="http://www.uidesign.net/Articles/Papers/WebMVC-BrowsersTransactio.html"><STRONG><FONT color=#254e84>Part 3</FONT></STRONG></A> of this article will show how it is possible to have the server track the state of the client and still cope adequately with unexpected events from the client.</P>
<H3>Introduction to a thin-client Web application</H3>
<P>First let us define what we mean by "thin-client" in this context. A Thin-Client application for the purposes of this article is one which presents plain HTML documents in a Browser and receives back HTTP Requests. There is NO client-side code - no javascript, no java applets, just HTML. The browser is being treated as if it were a dumb (green screen) terminal with two notable exceptions.</P>
<P>The client can store "stateful" data i.e. data can be kept at the client through one of three methods, URL re-writing, hidden fields in an HTML Form and using cookies.</P>
<P>The client can also change its current state unexpectedly through the use of the browser "back" button and through the Goto bookmark mechanism.</P>
<P>This architecture does not rule out the use of client-side code and <A href="http://www.justobjects.nl/"><STRONG><FONT color=#254e84>Just van den Broecke</FONT></STRONG></A> has demostrated that the notification ascpects of a typical MVC model can be implemented using minimal client-side javascript. A technology which he calls <A href="http://www.justobjects.nl/"><STRONG><FONT color=#254e84>Pushlets</FONT></STRONG></A>.</P>
<H3>Deterministic Presentation Layer</H3>
<P>In Web Applications, the server side code which is responsible for the User Interface is usually referred to as the Presentation Layer. Perhaps this is to distinguish it from the client browser which is <I>closer</I> to the user and is often referred to as the User Interface. In other words, the Presentation Layer is the layer which constructs the User Interface but resides at the Server. As with all User Interface code, it's never too difficult to hack something together which does the job. Often, no one is quite sure how it all works but it seems to hang together, process input and display output as required. Design is often minimal and the code is simply written without much thought for design. This is often exacerbated by the rapid, incremental nature of UI prototyping which doesn't lend itself to rigorous design and keeping design documentation in synchronization with the developed code. With a lot of web applications, a static HTML prototype is constructed and then server side code is written to process form submissions and build html pages. The HTML prototype is then glued to the back-end and little or no additional design effort goes in to this activity.</P>
<P>This will work adequately well for small and even some medium scale applications. However, it is likely to become problematic for larger scale applications. Something with say 200 screens and perhaps 6 to 10 programmers just for the Presentation Layer. When a project gets this large, its necessary to have proper design documentation for the Presentation Layer code and its necessary to have some deterministic control over how it all works, what state is it in and what can it legally do next. Having tight control helps prevent bugs and helps to identify them when they do occur. This kind of control improves the confidence of the developers and the management and helps reduce the stress towards the end of a larger project. Spending time upfront with design, pays off later in reduced debugging and better test results.</P>
<P>Knowing deterministic information about the state of a user interface becomes very useful when you have a transaction processing application which must accurately define the scope of a "Unit of Work" for a logical transaction. Equally to ensure data integrity and consistency these transactions must be suitably isolated. Many web applications to date have avoided this complexity by implementing "stateless" type functionality where transactions only happen on single http requests. These have been called "atomic transactions" as they happen in their entirety without interruption and complete before anything else can occurr. However, increasing demands for more sophisticated web applications mean that browser based applications are increasingly being asked to deliver client/server like functionality. This can require what are known as "conversational" transactions between client and web server i.e. transactions which span http requests. To accurately control such transactions and provide other widely expected GUI functionality such as "Cancel" and "Retry", it is necessary to have a deterministic Presentation Layer.</P>
<P>A Deterministic Presentation Layer can be achieved by first modeling the User Interface using UML Statecharts and then implementing the Statechart Design using Mediator Pattern as part of a Model-View-Controller (MVC) engine. This article sets out the groundwork with a very simple example of a Login Dialog. Later parts will show how to implement a Statechart engine and MVC architecture and will demonstrate how to cope with difficult aspects of web applications such as the Browser back button and proper scoping of transaction, "Unit of Work".</P>
<H3>Input Events - HTTP Requests</H3>
<P>All Web Applications are Event driven. The Server receives HTTP Requests from the client. An HTTP Request is an Event. Specifically, it is a Get or a Post event. For the purposes of this discussion they can be treated as generic HTTP Requests. In Part 2, the specifics of handling Get and Post Events will be discussed.</P>
<P align=center><IMG height=206 alt="HTTP Request" src="http://www.uidesign.net/1999/papers/webmvc/httprequest.gif" width=201></P>
<P align=center><STRONG><EM>Fig 1. HTTP Request shown as an Event from Client to Server</EM></STRONG></P>
<P>If we consider what Figure 1 is showing, the Browser at the client sends an Event to the Server Presentation Layer. The Event is either a Get or Post Event which is encapsulated inside an HTTP Request. Later we will see that it is easy to model Event driven systems using Statecharts.</P>
<H3>Event Evaluation</H3>
<P>When the web application server receives an Event, it must evaluate it and decide how to respond to the client. This evaluation process may involve interaction with the business logic of the application. It has long being advocated that business systems should be evaluated and understood first before any computer system implementation is envisaged. This Business Analysis or Problem Domain Analysis as it is also known can take place independently of the screen design. Problem Domain Analysis can be implemented as a Business (or Model) layer. This Business Layer usually has to be persistent. Persistence is usually achieved with a database. Figure 2, shows the Presentation Layer messaging to the Problem Domain code and Persistent Storage in order to properly evaluate the input from the HTTP Request.</P>
<P align=center><IMG height=384 alt="Three Tier Server Model" src="http://www.uidesign.net/1999/papers/webmvc/threetiers.gif" width=255></P>
<P align=center><STRONG><EM>Fig. 2. Presentation Layer messaging Business Layer to access Persistent storage</EM></STRONG></P>
<P>This separation of Presentation Layer, Business Layer (the Problem Domain logic) and Persistence Layer (the Problem Domain data) is often referred to in Web Application Server literature as the 3-tier model. This separates it out from traditional client/server database forms applications which are usually called 2-tier. 3-tier is more flexible. Physically all 3 tiers can be implemented on different server boxes, this can lead to greater scalability and an ability to process more client requests simultaneously. A thorough examination of this 3-tier architecture is beyond the scope of this paper which is interested in the Presentation Layer and its relationship with the client.</P>
<H3>Output States - HTML Pages</H3>
<P>The application server Presentation Layer is also responsible for sending an HTML output stream to the client. Each time we send the client a new Page (or Frame) of HTML, we can consider that the client has changed state. The Browser is displaying a new page.</P>
<P align=center><IMG height=365 alt="HTML Output" src="http://www.uidesign.net/1999/papers/webmvc/htmloutput.gif" width=252></P>
<P align=center><STRONG><EM>Fig 3. HTML output stream from Server to Client</EM></STRONG></P>
<P>In order to build the appropriate HTML output, the Presentation Layer may need to access Business Information such as a list of outstanding Invoices. This can be obtained by messaging into the Business Layer and requesting a list of such Invoices from the Persistence Layer. It can then use that data to build an appropriate HTML table populated with invoice details and send it out to the client for display in the browser.</P>
<H3>Client to Presentation Layer Interaction</H3>
<P>If we take a look purely at the Client to Application Server Presentation Layer interaction, we can see that the Client sends the Application Server input as a series of HTTP Requests, these can be considered to be Get or Post Events purely at the physical level. The App. Server then processes the HTTP Request and sends back an output stream to the client of HTML data to construct the required page or frame.</P>
<P align=center><IMG height=228 alt="Presentation Interaction" src="http://www.uidesign.net/1999/papers/webmvc/presentationlayer.gif" width=383></P>
<P align=center><STRONG><EM>Fig. 4. Client to App. Server Presentation Layer interaction</EM></STRONG></P>
<H3>Modeling the Client to Presentation Layer Interaction</H3>
<P>If we look at the Client from the perspective of the Application Server, the client is displaying a series of HTML pages. From each HTML page, Events can arrive back at the Server. These Events are physically HTTP Get or Post events, however, a logical semantic could be added into the data which accompanies the event. For example, if a "Submit" were pressed, an additional parameter "Event=Submit" could be included in the HTTP Request data. This could be used to turn the Physical Post Event into a logical "Submit" Event. This mechanism is widely used in Web Applications to identify specific messages from the client to the server e.g. an "Add" button would have a Form Submission including a parameter "Event=Add" and a "Remove" button would similarly have an "Event=Remove" parameter.</P>
<P>Thus the Client appears to the Server as displaying say Page 1, then receives an Event, some processing at the Server, send Page 2, Client displays Page 2, another event arrives, some more processing, Client displays page 3, and so on.</P>
<P>We can easily model what is happening at the client using Statecharts. Page 1 is State 1, Page 2 is State 2, Page 3 is State 3. What happens in between are Events.</P>
<P align=center><IMG height=67 alt="Simple State Event example" src="http://www.uidesign.net/1999/papers/webmvc/SimpleStates_StateDiagram.gif" width=333></P>
<P align=center><STRONG><EM>Fig 5. Basic Statechart Diagram for 3 sequential pages of HTML</EM></STRONG></P>
<P>Actually, what is really happening can and will be more complex. A client in a current state, may produce an Event, the event may be accompanied by some parameters. On receipt of an Event, some conditions are evaluated which may require the Event parameters. The combination of the current state, the event and the result of the condition evaluation will determine the next state and possibly some actions which must be undertaken as that state transition is made. The diagram above shows a basic simple case where there are no parameters and no conditions to evaluate. As you will see later many state transitions are not usually this simple. We can state very clearly what is possible with this simple definition:-</P>
<P align=center><B>[the current state + an event + some conditions] determines [the actions + the next state]</B></P>
<P>There is a well established architecture for User Interfaces which facilitates Event driven systems such as this known as Model-View-Controller or MVC. In recent years there has been a lot of confusing material published about MVC. I believe this was in part due to the arrival of increasingly complex GUI environments and the tight coupling of Views with Events and difficultly of separating out the concept of a View from the Client. This has led to a lot of confusion.</P>
<P>There are two requirements of the Controller in an MVC architecture. The first is the one we are most interested in. The Controller must determine the "control flow" of the system. It must process an incoming event from the User Interface and determine the next state of the User Interface. Much of the confusion in writing on MVC comes from the second requirement from the Controller which is to message the Model code(or Problem Domain) carrying out any actions required. This can change the state of the underlying business system. Much of the confusion has oriented around this. The state of the underlying business system and the state of the User Interface are two different, though often related, things. In a GUI environment the Model is then responsible for notifying View Classes that there has been a change. Normally, with a thin-client application, there is no way of notifying the client existing View. So notification mechanisms need not be discussed. [ Notification can be achieved through the use of <A href="http://www.justobjects.nl/"><STRONG><FONT color=#254e84>Pushlets</FONT></STRONG></A> ]</P>
<P>Our thin-client web application is a close cousin of dumb terminal applications. The requirements for an MVC architecture in a dumb terminal system is very much simpler than some modern GUI MVC implementations as notification is not required. I would like to propose a very simple explanation for how MVC works. Controllers process input, they take Events, consider the current state of the client and determine the next state of the system. Based on the newly determined next state, the Controller invokes an appropriate View which displays the required output.</P>
<P align=center><B>Controllers are all about input. Views are all about Output.</B></P>
<P>We are focusing the Controller responsiblities on controlling the flow and state of the User Interface rather than the underlying state of the business system. This may represent a subtle change for those who have attempted MVC designs in the past.</P>
<P>As we are building each View on demand, it must request data from the model every time it is instantiated. Hence, there is no Model to View notification. Simply the creation of the View object which must demand any necessary data from the model.</P>
<P>Views and Controllers together can be considered the Presentation Layer in a Web Application. However, as we will see it is easy to cleanly separate Views from Controllers in a Server-side Web Application.</P>
<P align=center><IMG height=227 alt="MVC Simplified" src="http://www.uidesign.net/1999/papers/webmvc/mvcsimplified.gif" width=284></P>
<P align=center><STRONG><EM>Fig 6. Client to Presentation Layer Interaction showing the MVC Separation at the Server</EM></STRONG></P>
<P>The Model, on the other hand, is separate from the Presentation Layer Views and Controllers. It is there to provide Problem Domain services to the Presentation Layer including access to Persistent Storage. Both View and Controller may message down to the Model and it in turn will send back appropriate responses.</P>
<P>Altogether, this is a clean and simple implementation which is easily mapped against an Implementation Level Model of the User Interface using a Statechart Diagram.</P>
<P align=center><IMG height=384 alt="An MVC Design" src="http://www.uidesign.net/1999/papers/webmvc/mvcdesign.gif" width=387></P>
<P align=center><STRONG><EM>Fig 7. The complete MVC Architecture for a Thin-Client Web Application</EM></STRONG></P>
<P>Finally, we can consider how this Generic MVC model would look as a UML Class Diagram. Here we are showing the HTTPRequest wrapped as a class. On its arrival at the Application Server, it invokes a Controller (the exact mechanism for this is discussed in Part 2), the Controller evaluates some conditions using the Model if required. It decides which View should be built and invokes the appropriate View Class by calling its buildPage() method. The View in turn may require some information from the Model as it constructs the HTML for display. Finally, it streams the output to the client with its print() method.</P>
<P align=center><IMG height=378 alt="Generic MVC Class Diagram" src="http://www.uidesign.net/1999/papers/webmvc/GenericMVC_ClassDiagram.gif" width=557></P>
<P align=center><STRONG><EM>Fig 8. Generic Class Diagram for an MVC implementation</EM></STRONG></P>
<P align=center><IMG height=385 alt="Login Navigation Diagram" src="http://www.uidesign.net/1999/papers/webmvc/LoginNavigation_ClassDiagram.gif" width=482></P>
<P align=center><STRONG><EM>Fig 9. Navigation Model for a Login Request and two subsequent screens</EM></STRONG></P>
<P>First a Login Screen with one of two alternate labels saying "Please enter your name and password" and "Your name or password was incorrect, please try again". This then leads to one of two screens, either Login is successful in which case, Main Application is reached or unsuccessful in which case the User is rejected with the Access Denied screen.</P>
<P>We can create an Implementation Model of this using a Statechart diagram as shown in Figure 10.</P>
<P align=center><IMG height=348 alt="Login Attempt Statechart" src="http://www.uidesign.net/1999/papers/webmvc/LoginAttempt_StateDiagram.gif" width=544></P>
<P align=center><STRONG><EM>Fig 10. Implementation Model Statechart for a Login Request and two subsequent screens</EM></STRONG></P>
<P>Here we are clearly showing the "Submit" Event and its three possible outcomes. A Valid Name and Password will lead to the Main Application state, an invalid name or password will lead either to the Try Again sub-state of LoginRequest or if there have already been 3 attempts then to the Access Denied Screen.</P>
<P>We can provide a physical mapping of this Implementation Model to our View-Controller Presentation Layer as shown in Figure 11.</P>
<P align=center><IMG height=265 alt="Login Request Physical VC Implementation" src="http://www.uidesign.net/1999/papers/webmvc/LoginPhysical_StateDiagram.gif" width=422></P>
<P align=center><STRONG><EM>Fig 11. Mapping the Implementation Model to Mediator Pattern.<BR>Note that the central state element is a Controller and the other 3 are Views.</EM></STRONG></P>
<P>We can now implement this model as classes. Each Controller (or Event Handler) becomes a Class and each State which represents a buildable HTML Page or Frame also becomes a Class. The Event is wrapped inside our HTTPRequest Class as shown in Figure 12.</P>
<P align=center><IMG height=595 alt="Login MVC Diagram" src="http://www.uidesign.net/1999/papers/webmvc/LoginMVC_ClassDiagram.gif" width=469></P>
<P align=center><STRONG><EM>Fig 12. A Class Diagram for the Login Example, showing the LoginSession Model Layer class</EM></STRONG></P>
<P>In this example, our Controller class requires to call down to a Problem Domain Class in the Model, in order to evaluate whether the Login Name and Password are valid. The View classes do not require to call any Model classes in this example. The Controller calls the LoginSession.isNamePasswordValid() method which returns a boolean answer. This is used to determine whether the resultant state is MainApplication or whether to consider the number of attempts before selecting either TryAgain or AccessDenied as the resultant output.</P>
<P>The LoginSession class encapsulates the concept of a the period of time that a single client is visiting the web site. The period between first Logging In and finally Logging Out. The LoginSession must also timeout in the event that the User simply wanders off to somewhere else on the web. LoginSession contains the key attribute SessionID which is used to identify a returning client on each HTTP Request. The SessionID is issued on the first HTTP Request. An incoming HTTP Request without a Session ID is considered to be a new user. That user will be issued with a Session ID and prompted to Login.</P>
<P>The LoginSession will also be holding references to the SystemUser &lt;&lt;Role Player&gt;&gt; class after it has established a successful ID and Password for a System User. It also stores a collection of visited States for that particular client during this Session. A LoginSession is often called a User or Client Context.</P>
<H3>Scaling Up</H3>
<P>The example shown above is small. A single form submission leading to 2 subsequent screens. It involves 3 states, two sub-states and a single controller. However, this architectural approach can be scaled to significantly larger applications and complex User Interfaces.</P>
<P>In order to implement such an architecture and design on a large scale web server application, an engine to drive the State machine and the View-Controller implementation in the Presentation Layer is required. Such an engine would need to interpret incoming Events from HTTPRequests and translate them into logical events such as "Submit Password", it would then invoke the appropriate Controller Class based on the current state of the client, execute the condition evaluation and move the client to the appropriate next state. The correct View Class for this next state would be invoked and it would then output the HTML for that View to the Client. The Client Browser will have changed to the new State.</P>
<P>This architecture can be used to deliver a deterministic, large scale user interface for a web application which remains manageable and understandable even when a large number of people are working on code development. Such a design is more easily tracked for Project reporting purposes and can lead to significantly tighter control on Presentation Layer development, improving development estimates and helping to keep delivery dates on track.</P>
<H3>In Part 2</H3>
<P><A href="http://www.uidesign.net/Articles/Papers/AStateMachineEngineforWeb.html"><STRONG><FONT color=#254e84>Part 2</FONT></STRONG></A> will be showing how we can design and build an MVC Statechart engine as generic server-side plumbing and cleanly implement a Presentation Layer which is initially developed as an HTML prototype then modelled as a Navigation Diagram, developed into an Implementation Statechart Diagram and finally coded as a series of View and Controller classes as the Presentation Layer of a Web Server application.</P>
<P><A href="http://www.uidesign.net/Articles/Papers/WebMVC-BrowsersTransactio.html"><STRONG><FONT color=#254e84>Part 3</FONT></STRONG></A> will explain complex details such as Transaction Scoping and Exception Handling.</P>
<H3>Acknowledgments</H3>
<P>I would like to thank Ian Horrocks for review comments on this article. &nbsp;This article was first published in October 1999 and republished in the 2nd edition in June 2000.</P></DIV><div id="EntryTag">Tag标签: <a href="http://www.cnblogs.com/luluping/tag/MVC/">MVC</a></div>
<div id="c_jquery_test" style="display:none"></div>
<script type="text/javascript">
if ($ != jQuery) {
	$ = jQuery.noConflict();
}
</script>
<div id="digg_block">
<div id="author_profile">
<div class="author_profile_info">

<div class="author_profile_info">
<a href="http://home.cnblogs.com/u/luluping/" target="_blank">linFen</a><br />
<a href="http://home.cnblogs.com/u/luluping/followees/">关注 - 3</a><br />
<a href="http://home.cnblogs.com/u/luluping/followers/">粉丝 - 20</a><br />
</div>
</div>
<div class="clear"></div>

<div id="author_profile_follow"> <a href="javascript:void(0);" onclick="login();return false;">关注博主</a></div>
</div>
<div id="div_digg">										
	<div class="diggit" onclick="DiggIt(1236154,34197,1)"> 
		<span class="diggnum" id="digg_count_1236154">0</span>
	</div>
	<div class="buryit" onclick="DiggIt(1236154,34197,2)"> 
		<span class="burynum" id="bury_count_1236154">0</span>
	</div>
	<div class="clear"></div>
	<span style="display:none" id="span_isdigged_1236154">0</span>	
	<div class="diggword" id="digg_word_1236154">(请您对文章做出评价)</div>	
</div>
</div>
<div class="clear"></div>
<div id="post_next_prev">
<a href="http://www.cnblogs.com/luluping/archive/2008/07/01/1233525.html">« </a> 上一篇：<a href="http://www.cnblogs.com/luluping/archive/2008/07/01/1233525.html" title="发布于2008-07-01 20:27">ASP.NET中访问ACCESS数据库的代码 </a><br />
<a href="http://www.cnblogs.com/luluping/archive/2008/07/16/1244659.html">» </a> 下一篇：<a href="http://www.cnblogs.com/luluping/archive/2008/07/16/1244659.html" title="发布于2008-07-16 20:58">精妙SQL语句集合(收集) </a><br />
</div>
<script type="text/javascript" src="http://partner.googleadservices.com/gampad/google_service.js"></script>
<script type="text/javascript">
    var c_enable_dfp = true;
    if (navigator.userAgent.indexOf("Chrome/6.0.401.1") > 0) {
        c_enable_dfp = false;
    }
    if (c_enable_dfp) {
        try {
            GS_googleAddAdSenseService("ca-pub-4210569241504288");
            GS_googleEnableAllServices();
        }
        catch (e) { }
    }
</script>
<script type="text/javascript">
    if (c_enable_dfp) {
        try {
            GA_googleAddSlot("ca-pub-4210569241504288", "cnblogs_blogpost_body");
            GA_googleAddSlot("ca-pub-4210569241504288", "cnblogs_commentbox_up");
            GA_googleAddSlot("ca-pub-4210569241504288", "cnblogs_blogpost_bottom");
            GA_googleAddSlot("ca-pub-4210569241504288", "cnblogs_blogpost_bottom1");
        }
        catch (e) { }
    }
</script>
<script type="text/javascript">
    if (c_enable_dfp) {
        try {
            GA_googleFetchAds();
        } catch (e) { }
    }
</script>
<script type="text/javascript">
	var blog_ad_has_shown = false;
	var cb_c_u_id = '';
	var cb_blog_uid = '232f420b-63cf-dd11-9e4d-001cf0cd104b';
</script>



</div>
	</div>
<script type="text/javascript">
    var commentAuthorHasChecked = false;
    var commentAuthorIsValid = false;
    var commentUrlIsValid = true;
    var commentEmailIsValid = true;
    var authenCodeHasChecked = false;
    var authenCodeIsValid = true;
    var hasLogined = false;
    
    function PostComment() {    
        
        var isValid = true;
        
        if($("#wrapAuthenCode").css("display")=="none"){
            ShowAuthenCode();
            $("#tip_AuthenCode").css("color","red");
            $("#tip_AuthenCode").html("请输入验证码！");
            isValid = false;
        }
        
        if(!hasLogined && !commentAuthorHasChecked){
            CheckAuthor();        
        }                
        if(!hasLogined && !commentAuthorIsValid){
            isValid = false;
        }
                       
        if(!authenCodeHasChecked){
            CheckAuthenCode();            
        }
        if(!authenCodeIsValid){
            isValid = false;
        }
        
        if(!hasLogined && !commentUrlIsValid){            
            isValid = false;
        }        
        if(!commentEmailIsValid){            
            isValid = false;
        }        
        if(!CheckCommentContent()){
            isValid = false;
        }    
        if(!isValid){
            return;
        }

        var content = $("#tbCommentBody").val();
        if(content.length>2000){
            alert("评论内容过长！不允许发布！");
            return;
        }     
        
        if(content.indexOf("　Ｅ　　　　　　　　　Ｅ　　　　　　　　　　Ｅ　　　　　　")>=0){
            alert("该内容不允许布！");
            return;
        }   
        
       if ($("#span_comment_posted").html()!='' && $("#span_comment_posted").html()==content){
            alert("该评论已发表过!");
            return;
        }
        
        $("#tip_comment").html("评论提交中...");
        $("#span_comment_posted").html(content);
        //content = content.replace("'", "\\'");
        var email = $("#tbCommentEmail").val();
        var authenNum = $("#tbAuthenCode").val();
        var authenId = $("#span_comment_test").html();
        var comment = {};
        comment.authenNum = authenNum;
        comment.authenId= authenId;
        comment.parentId = 0;
        comment.blogId = 0;
        comment.sourceUrl = '';
        comment.author = $("#tbCommentAuthor").val();
        comment.url = $("#tbCommentAuthorUrl").val();
        comment.authenCode = $("#tbAuthenCode").val();
        comment.email = email;
        comment.title = '';
        comment.content = content;
        comment.parentCommentId = $("#span_parentcomment_id").html();
        $.ajax({
            url: '/ws/CommentService.asmx/AddAnonymousComment',
            data: $.toJSON(comment),
            type: "post",
            dataType: "json",
            contentType: "application/json; charset=utf8",
            success: function(data) {
               if (data.d["IsSuccess"]) {
                    ShowCommentMsg("感谢您的回复:)");
                    //RereshComments2(comment.parentId);
                    $("#tbCommentBody").val('');
                    //$("#divCommentShow").html(data.d["ReturnData"]+content.replace(/\n/g,"<br/>")+"<br/><br/>");
                    $("#divCommentShow").html($("#divCommentShow").html()+data.d["ReturnData"]); 
                    $("#tip_AuthenCode").html('');
                    RefreshAuthenCode();
                    $("#tbAuthenCode").val("");                    
                    CommentNotify(data.d["CommentID"]);
                }
                else {
                    ShowCommentMsg(data.d["ReturnData"]);//"抱歉！评论提交失败！请与管理员联系。");
                    $("#span_comment_posted").html(''); 
                }
            },
            error: function(xhr) {
                ShowCommentMsg("抱歉！评论提交失败！请与管理员联系。");
                $("#span_comment_posted").html('');  
                //alert(xhr.responseText);
            }
        }
        );
    }
    
    function RefreshAuthenCode(){
        AjaxPost("/ws/CommentService.asmx/RefreshAuthenCode","{}",RefreshImg); 
        $("#lnkRereshAuthenCode").html("<span style='color:red'>刷新中...</span>");
        return false;
    }
    
    function RefreshImg(response){
       $("#imgAuthenCode").attr("src","/Modules/CaptchaImage/ValidCodeImage.aspx?id="+encodeURIComponent(response));
       $("#span_comment_test").html(response);
       $("#lnkRereshAuthenCode").html("看不清，换一个");
    }
    
    function ShowAuthenCode(){
        //if($("#wrapAuthenCode").css("display")=="none"){    
        //    AjaxPost("/ws/CommentService.asmx/RefreshAuthenCode","{}",ShowAuthenCodeOk);
        //}
        $("#wrapAuthenCode").show();      
    }
    
    function ShowAuthenCodeOk(response){
         UpdateAuthenCode();
         $("#tbAuthenCode").val("");
         $("#wrapAuthenCode").show();
         $("#tip_AuthenCode").html('');
    }  
 
    
    function CheckAuthor(isOnblur){
        commentAuthorHasChecked = true;
        var maxLength = 30;
        if($("#tbCommentAuthor").val().length == 0){
            $("#tip_author").html("请输入您的昵称！");
            commentAuthorIsValid = false;
            return false;
        }     
        else if($("#tbCommentAuthor").val().length > maxLength){
            $("#tip_author").html("昵称不允许超过" + maxLength + "个字符！");
            commentAuthorIsValid = false;
            return false;
        }
        else{
            //if(isOnblur){
                AjaxPost("/ws/CommentService.asmx/IsAuthorExist","{author:'"+$("#tbCommentAuthor").val()+"'}" ,OnCheckAuthorExist);
            //}
            //else{
            //    $("#tip_author").html("");
            //    commentAuthorIsValid = true;
            //}
            return true;
        }
   }
   
    function OnCheckAuthorExist(response){        
        if(!response){
            $("#tip_author").html("");
            commentAuthorIsValid = true;
        }
        else{
            $("#tip_author").html("该昵称已被使用，请更换昵称");
            commentAuthorIsValid = false;
        }
   }
   
    function CheckUrl(){
        var maxLength = 50;
        var url = $("#tbCommentAuthorUrl").val();
        
        if(url.length == 0){
            commentUrlIsValid = true;
            return true;
        }
        else if(url.length > maxLength){
            $("#tip_url").html("主页地址不允许超过" + maxLength + "个字符！");
            commentUrlIsValid = false;
            return false;
        }
        else if(url.indexOf("http://")!=0 || url.indexOf(".") < 0){
            $("#tip_url").html("主页地址要以“http://”开头");
            commentUrlIsValid = false;
            return false;
        }
        else{
            $("#tip_url").html("");
            commentUrlIsValid = true;
            return true;
        }
   }
   
   function CheckEmail(){
        var email = $("#tbCommentEmail").val();
        if(email.length>0){
            var regExp = new RegExp("\\w+@((\\w|\-)+\\.)+[a-z]{2,3}");
            if(!regExp.test(email)){
                $("#tip_email").html("请输入正确的邮件地址!");
                commentEmailIsValid = false;
            }
            else{
                commentEmailIsValid = true;
                 $("#tip_email").html("");
            }
        }
        else{
            commentEmailIsValid = true;
            $("#tip_email").html("");  
        }
   }
   
   function CheckAuthenCode(){
        authenCodeHasChecked = true;
        var num = $("#tbAuthenCode").val();
        var id = $("#span_comment_test").html();
        $("#tip_AuthenCode").css("color","red");
        if(num.length==0){
             authenCodeIsValid = false;
             $("#tip_AuthenCode").html("请输入验证码！");
             return;
        }
        else if(num.length!=4){
            authenCodeIsValid = false;
            $("#tip_AuthenCode").html("请输入四位数字！");
             return;
        }
        else if(new RegExp("(\d+)").test(num)){
            authenCodeIsValid = false;
            $("#tip_AuthenCode").html("请输入四位数字！");
             return;
        }
        else{
            AjaxPost("/ws/CommentService.asmx/CheckAuthenCode","{number:"+num+",id:'"+id+"'}", OnCheckAuthenCode);
        }
   }
   
   function OnCheckAuthenCode(response){
        if(response){
            $("#tip_AuthenCode").css("color","green");
            $("#tip_AuthenCode").html("验证码输入正确！");
            authenCodeIsValid = true;            
        }
        else{
            $("#tip_AuthenCode").css("color","red");
            $("#tip_AuthenCode").html("验证码输错啦！");
            RefreshAuthenCode();
            authenCodeIsValid = false;           
        }
   }
   
   function CheckCommentContent(){
    if($("#tbCommentBody").val().length==0){
        alert("请输入评论内容！");
        return false;
    }
    return true;
   }
    
</script>
<div id="ctl04_comment_form" class="commentform">




<div id="ctl04_divLoginPannel">
<div class="login_tips">注册用户登录后才能发表评论，请 <a href="http://passport.cnblogs.com/login.aspx?ReturnUrl=http%3a%2f%2fwww.cnblogs.com%2fluluping%2farchive%2f2008%2f07%2f05%2f1236154.html%3flogin%3d1%23commentform" class="underline">登录</a> 或 <a href="http://passport.cnblogs.com/register.aspx?ReturnUrl=http%3a%2f%2fwww.cnblogs.com%2fluluping%2farchive%2f2008%2f07%2f05%2f1236154.html%23Bottom2" class="underline">注册</a>，<a href="http://www.cnblogs.com" target="_blank">返回博客园首页</a>。</div>
</div>

<div class="itnews c_ad_block">
<a href="http://news.cnblogs.com/">IT新闻</a>:<br />

          ·  <a href="http://news.cnblogs.com/n/79190/" target="_blank">因腾讯360之争而出的搞笑漫画(组图)</a><br />
	
          ·  <a href="http://news.cnblogs.com/n/79187/" target="_blank">隐藏在硬件中的后门</a><br />
	
          ·  <a href="http://news.cnblogs.com/n/79185/" target="_blank">无法替换MicroSD卡，Samsung Omnia 7用户表哭</a><br />
	
          ·  <a href="http://news.cnblogs.com/n/79184/" target="_blank">360与腾讯之争——娱乐化时代的产物</a><br />
	
          ·  <a href="http://news.cnblogs.com/n/79182/" target="_blank">评论：相比微软Windows 更多消费者拥抱苹果产品</a><br />
	
<a href="http://news.cnblogs.com/">更多IT新闻...</a>
</div>


<div class="c_ad_block">
<div style="margin-top:5px;">
<script type="text/javascript">
    if (c_enable_dfp) {
        try {
            GA_googleFillSlot("cnblogs_blogpost_bottom");
        }
        catch (e) { }
    }
</script>
</div>
<div class="itnews c_ad_block" id="job_block">
<a href="http://kb.cnblogs.com/" target="_blank" title="程序员知识库"><b>知识库最新文章</b></a>:<br />
<div id="kb_recent">

		<a href="http://kb.cnblogs.com/page/79143/" target="_blank">关于Silverlight战略转移新闻，我的思考</a><br />
	
		<a href="http://kb.cnblogs.com/page/79115/" target="_blank">每位开发人员都应铭记的10句编程谚语</a><br />
	
		<a href="http://kb.cnblogs.com/page/78932/" target="_blank">初始创业者常犯的三大错误（二）</a><br />
	
		<a href="http://kb.cnblogs.com/page/78302/" target="_blank">vi 技巧和诀窍：令人刮目相看的 10 个超酷命令</a><br />
	
		<a href="http://kb.cnblogs.com/page/78002/" target="_blank">新浪微博OAuth认证总结</a><br />
	
</div>
</div>
</div>
<div class="c_ad_block">
<a href="http://www.feifanit.com.cn/productFlow.htm" target="_blank"><img src="http://static.cnblogs.com/images/a4/e8_net_468x60.gif" alt=""/></a>
</div>

<div id="site_nav_under" class="c_ad_block">
网站导航：<br />
<a href="http://www.cnblogs.com/" target="_blank">博客园首页</a> &nbsp;<a href="http://news.cnblogs.com/" target="_blank">IT新闻</a> &nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a> &nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a> &nbsp;<a href="http://job.cnblogs.com/" target="_blank">程序员招聘</a> &nbsp;<a href="http://space.cnblogs.com/" target="_blank">社区</a> &nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a> 
</div>
<div id="ad_under_comment2" class="c_ad_block">
<a href="http://www.china-pub.com/STATIC07/1005/zh_loving_100528.asp" target="_blank"><img src="http://static.cnblogs.com/images/a4/china_pub_20100610.gif" alt="" style="border:0px;"/></a><br />
<a href="http://www.china-pub.com/itbook/" target="_blank">China-pub 计算机图书网上专卖店！6.5万品种2-8折！</a><br />
<a href="http://www.china-pub.com/static07/0901/zh_jueba_090121.asp"   target="_blank">China-Pub 计算机绝版图书按需印刷服务</a><br />
</div>

<div id="relative_search"><br/><b>相关搜索:</b><br/> <a href="http://zzk.cnblogs.com/s?w=MVC" target="_blank">MVC</a> </div><div id="kb_link"><br/><b>最简洁阅读版式：</b><br/> <a href="http://archive.cnblogs.com/a/1236154/">Using MVC Pattern in Web Interactions</a></div>





</div>


				
			</div>
		</td>
	</tr>
	<tr>
		<td colspan="2" class="FooterCell">
			
<p id="footer">
	Powered by: 
	<br />
	
	<a id="Footer1_Hyperlink3" NAME="Hyperlink1" href="http://www.cnblogs.com/" style="font-family:Verdana;font-size:12px;">博客园</a>
	<br />
	Copyright &copy; linFen
</p>

		</td>
	</tr>
</table>
<div id="lefttemp" style="display:none">
	
		
<div id="Cal">
<img src="/Skins/KJC/Images/icon-group.jpg" hspace="5" align="left" vspace="2"><h3>日历</h3>
<table id="Calendar1_entryCal" class="cal" cellspacing="0" cellpadding="0" title="Calendar" border="0" style="border-width:0px;height:160px;border-collapse:collapse;">
	<tr><td colspan="7" style="background-color:#EEEEEE;"><table class="cal" cellspacing="0" border="0" style="color:#666666;font-size:13px;font-weight:bold;width:100%;border-collapse:collapse;">
		<tr><td valign="bottom" style="width:15%;"><a href="javascript:__doPostBack('Calendar1$entryCal','V3074')" style="color:Black" title="Go to the previous month">&lt;</a></td><td align="center" style="width:70%;">2008年7月</td><td align="right" valign="bottom" style="width:15%;"><a href="javascript:__doPostBack('Calendar1$entryCal','V3135')" style="color:Black" title="Go to the next month">&gt;</a></td></tr>
	</table></td></tr><tr><th align="center" abbr="日" scope="col" style="background-color:#DDDDCC;font-size:12px;">日</th><th align="center" abbr="一" scope="col" style="background-color:#DDDDCC;font-size:12px;">一</th><th align="center" abbr="二" scope="col" style="background-color:#DDDDCC;font-size:12px;">二</th><th align="center" abbr="三" scope="col" style="background-color:#DDDDCC;font-size:12px;">三</th><th align="center" abbr="四" scope="col" style="background-color:#DDDDCC;font-size:12px;">四</th><th align="center" abbr="五" scope="col" style="background-color:#DDDDCC;font-size:12px;">五</th><th align="center" abbr="六" scope="col" style="background-color:#DDDDCC;font-size:12px;">六</th></tr><tr><td align="center" style="color:Gray;font-size:11px;width:14%;">29</td><td align="center" style="color:Gray;font-size:11px;width:14%;">30</td><td align="center" style="font-size:11px;width:14%;"><a href="http://www.cnblogs.com/luluping/archive/2008/7/1.html"><u>1</u></a></td><td align="center" style="font-size:11px;width:14%;">2</td><td align="center" style="font-size:11px;width:14%;">3</td><td align="center" style="font-size:11px;width:14%;">4</td><td align="center" style="font-size:11px;width:14%;"><a href="http://www.cnblogs.com/luluping/archive/2008/7/5.html"><u>5</u></a></td></tr><tr><td align="center" style="font-size:11px;width:14%;">6</td><td align="center" style="font-size:11px;width:14%;">7</td><td align="center" style="font-size:11px;width:14%;">8</td><td align="center" style="font-size:11px;width:14%;">9</td><td align="center" style="font-size:11px;width:14%;">10</td><td align="center" style="font-size:11px;width:14%;">11</td><td align="center" style="font-size:11px;width:14%;">12</td></tr><tr><td align="center" style="font-size:11px;width:14%;">13</td><td align="center" style="font-size:11px;width:14%;">14</td><td align="center" style="font-size:11px;width:14%;">15</td><td align="center" style="font-size:11px;width:14%;"><a href="http://www.cnblogs.com/luluping/archive/2008/7/16.html"><u>16</u></a></td><td align="center" style="font-size:11px;width:14%;">17</td><td align="center" style="font-size:11px;width:14%;">18</td><td align="center" style="font-size:11px;width:14%;">19</td></tr><tr><td align="center" style="font-size:11px;width:14%;">20</td><td align="center" style="font-size:11px;width:14%;">21</td><td align="center" style="font-size:11px;width:14%;">22</td><td align="center" style="font-size:11px;width:14%;">23</td><td align="center" style="font-size:11px;width:14%;">24</td><td align="center" style="font-size:11px;width:14%;"><a href="http://www.cnblogs.com/luluping/archive/2008/7/25.html"><u>25</u></a></td><td align="center" style="font-size:11px;width:14%;">26</td></tr><tr><td align="center" style="font-size:11px;width:14%;">27</td><td align="center" style="font-size:11px;width:14%;">28</td><td align="center" style="font-size:11px;width:14%;">29</td><td align="center" style="font-size:11px;width:14%;">30</td><td align="center" style="font-size:11px;width:14%;">31</td><td align="center" style="color:Gray;font-size:11px;width:14%;">1</td><td align="center" style="color:Gray;font-size:11px;width:14%;">2</td></tr><tr><td align="center" style="color:Gray;font-size:11px;width:14%;">3</td><td align="center" style="color:Gray;font-size:11px;width:14%;">4</td><td align="center" style="color:Gray;font-size:11px;width:14%;">5</td><td align="center" style="color:Gray;font-size:11px;width:14%;">6</td><td align="center" style="color:Gray;font-size:11px;width:14%;">7</td><td align="center" style="color:Gray;font-size:11px;width:14%;">8</td><td align="center" style="color:Gray;font-size:11px;width:14%;">9</td></tr>
</table>
</div>

		
<div id=cell>
<img src="/Skins/KJC/Images/icon-group.jpg" hspace=5 align=left vspace=2><h3>公告</h3>
<div id=news>
	<div id="profile_block"><a href="http://home.cnblogs.com/u/luluping/followers/">粉丝 - 20</a><br/><a href="http://home.cnblogs.com/u/luluping/followees/">关注 - 3</a><br/><a href="http://home.cnblogs.com/u/luluping/" target="_blank">我的主页</a>&nbsp; <a href="http://home.cnblogs.com/u/luluping/detail/" target="_blank">个人资料</a><br/><a href="http://home.cnblogs.com/luluping/ing/" target="_blank">我的闪存</a>&nbsp; <a href="http://space.cnblogs.com/msg/send/linFen" target="_blank">发短消息</a></div>
</div>
</div>

	
	
<script type="text/javascript">
    var blogapp = 'luluping';
</script>
<div id="cell">
<img src="/Skins/KJC/Images/icon-group.jpg" hspace=5 align=left vspace=2>
<h3 class="catListTitle">搜索</h3>

<div class="div_my_zzk"><input  type="text" id="q" onkeydown="return zzk_go_enter(event);" class="input_my_zzk"/>&nbsp;<input onclick="zzk_go()" type="button" value="找找看" id="btnZzk" class="btn_my_zzk"/></div>

</div>
<div id="cell">
<img src="/Skins/KJC/Images/icon-group.jpg" hspace=5 align=left vspace=2>
<h3>常用链接</h3>
<ul>

		<li><a id="Singlecolumn2_ctl02_rptMainLinks_ctl00_lnkLinkItem" href="http://www.cnblogs.com/luluping/MyPosts.html">我的随笔</a></li>
	
		<li><a id="Singlecolumn2_ctl02_rptMainLinks_ctl01_lnkLinkItem" href="http://home.cnblogs.com/luluping/">我的空间</a></li>
	
		<li><a id="Singlecolumn2_ctl02_rptMainLinks_ctl02_lnkLinkItem" href="http://space.cnblogs.com/msg/recent">我的短信</a></li>
	
		<li><a id="Singlecolumn2_ctl02_rptMainLinks_ctl03_lnkLinkItem" href="http://www.cnblogs.com/luluping/MyComments.html">我的评论</a></li>
	
<li><a id="itemListLink" onclick="this.blur();WarpClass('itemListLink', 'itemListLin_con');return false;" href="#">更多链接</a></li>
</ul>
<div id="itemListLin_con" style="display:none;">
<ul>
		<li><a id="Singlecolumn2_ctl02_repeaterLinks_ctl01_lnkLinkItem" href="http://www.cnblogs.com/luluping/MyArticles.html">我的文章</a></li>
	
		<li><a id="Singlecolumn2_ctl02_repeaterLinks_ctl02_lnkLinkItem" href="http://www.cnblogs.com/luluping/OtherPosts.html">我的参与</a></li>
	
		<li><a id="Singlecolumn2_ctl02_repeaterLinks_ctl03_lnkLinkItem" href="http://www.cnblogs.com/luluping/MyNews.html">我的新闻</a></li>
	
		<li><a id="Singlecolumn2_ctl02_repeaterLinks_ctl04_lnkLinkItem" href="http://www.cnblogs.com/luluping/RecentComments.html">最新评论</a></li>
	
		<li><a id="Singlecolumn2_ctl02_repeaterLinks_ctl05_lnkLinkItem" href="http://www.cnblogs.com/luluping/tag/">我的标签</a></li>
	</ul>
</div>
</div>
<div id="cell">
<img src="/Skins/KJC/Images/icon-group.jpg" hspace=5 align=left vspace=2>
<h3>我的标签</h3>
<div id="MyTag">
<ul>
<li><a href="http://www.cnblogs.com/luluping/tag/jQuery/">jQuery(203)</a></li><li><a href="http://www.cnblogs.com/luluping/tag/js/">js(162)</a></li><li><a href="http://www.cnblogs.com/luluping/tag/CSS/">CSS(140)</a></li><li><a href="http://www.cnblogs.com/luluping/tag/C%23/">C#(134)</a></li><li><a href="http://www.cnblogs.com/luluping/tag/javascript/">javascript(127)</a></li><li><a href="http://www.cnblogs.com/luluping/tag/DIV%2bCSS/">DIV+CSS(91)</a></li><li><a href="http://www.cnblogs.com/luluping/tag/%ef%bf%a5NET/">.NET(89)</a></li><li><a href="http://www.cnblogs.com/luluping/tag/ASP%ef%bf%a5NET/">ASP.NET(80)</a></li><li><a href="http://www.cnblogs.com/luluping/tag/sql/">sql(76)</a></li><li><a href="http://www.cnblogs.com/luluping/tag/DIV/">DIV(69)</a></li><li><a href="http://www.cnblogs.com/luluping/tag/"/>更多</a></li>
</ul>
</div>
</div>
		<div id=cell>
		<img src="/Skins/KJC/Images/icon-group.jpg" hspace=5 align=left vspace=2><h3>随笔分类</h3>
		
				<ul>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl00_LinkList_ctl01_RssLink" href="#" onclick="return open_link('http://www.cnblogs.com/luluping/category/125461.html/rss');"><img src="/Skins/KJC/Images/xmlsmall.gif" style="border-width:0px;" /></a><a id="Singlecolumn2_Categories_CatList_ctl00_LinkList_ctl01_Link" href="http://www.cnblogs.com/luluping/category/125461.html">ajax(1)</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl00_LinkList_ctl02_RssLink" href="#" onclick="return open_link('http://www.cnblogs.com/luluping/category/125459.html/rss');"><img src="/Skins/KJC/Images/xmlsmall.gif" style="border-width:0px;" /></a><a id="Singlecolumn2_Categories_CatList_ctl00_LinkList_ctl02_Link" href="http://www.cnblogs.com/luluping/category/125459.html">asp.net(7)</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl00_LinkList_ctl03_RssLink" href="#" onclick="return open_link('http://www.cnblogs.com/luluping/category/137682.html/rss');"><img src="/Skins/KJC/Images/xmlsmall.gif" style="border-width:0px;" /></a><a id="Singlecolumn2_Categories_CatList_ctl00_LinkList_ctl03_Link" href="http://www.cnblogs.com/luluping/category/137682.html">C# 3.x(5)</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl00_LinkList_ctl04_RssLink" href="#" onclick="return open_link('http://www.cnblogs.com/luluping/category/164556.html/rss');"><img src="/Skins/KJC/Images/xmlsmall.gif" style="border-width:0px;" /></a><a id="Singlecolumn2_Categories_CatList_ctl00_LinkList_ctl04_Link" href="http://www.cnblogs.com/luluping/category/164556.html">CodeSmith</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl00_LinkList_ctl05_RssLink" href="#" onclick="return open_link('http://www.cnblogs.com/luluping/category/125465.html/rss');"><img src="/Skins/KJC/Images/xmlsmall.gif" style="border-width:0px;" /></a><a id="Singlecolumn2_Categories_CatList_ctl00_LinkList_ctl05_Link" href="http://www.cnblogs.com/luluping/category/125465.html">Css(1)</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl00_LinkList_ctl06_RssLink" href="#" onclick="return open_link('http://www.cnblogs.com/luluping/category/125464.html/rss');"><img src="/Skins/KJC/Images/xmlsmall.gif" style="border-width:0px;" /></a><a id="Singlecolumn2_Categories_CatList_ctl00_LinkList_ctl06_Link" href="http://www.cnblogs.com/luluping/category/125464.html">javascript(5)</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl00_LinkList_ctl07_RssLink" href="#" onclick="return open_link('http://www.cnblogs.com/luluping/category/125463.html/rss');"><img src="/Skins/KJC/Images/xmlsmall.gif" style="border-width:0px;" /></a><a id="Singlecolumn2_Categories_CatList_ctl00_LinkList_ctl07_Link" href="http://www.cnblogs.com/luluping/category/125463.html">SQL(2)</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl00_LinkList_ctl08_RssLink" href="#" onclick="return open_link('http://www.cnblogs.com/luluping/category/125466.html/rss');"><img src="/Skins/KJC/Images/xmlsmall.gif" style="border-width:0px;" /></a><a id="Singlecolumn2_Categories_CatList_ctl00_LinkList_ctl08_Link" href="http://www.cnblogs.com/luluping/category/125466.html">设计模式(c#)</a>
				</li>
			
				</ul>
			</div>
	
		<div id=cell>
		<img src="/Skins/KJC/Images/icon-group.jpg" hspace=5 align=left vspace=2><h3>随笔档案</h3>
		
				<ul>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl01_LinkList_ctl01_Link" href="#" onclick="return open_link('http://www.cnblogs.com/luluping/archive/2010/10.html');">2010年10月 (20)</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl01_LinkList_ctl02_Link" href="#" onclick="return open_link('http://www.cnblogs.com/luluping/archive/2010/09.html');">2010年9月 (24)</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl01_LinkList_ctl03_Link" href="#" onclick="return open_link('http://www.cnblogs.com/luluping/archive/2010/08.html');">2010年8月 (21)</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl01_LinkList_ctl04_Link" href="#" onclick="return open_link('http://www.cnblogs.com/luluping/archive/2010/07.html');">2010年7月 (12)</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl01_LinkList_ctl05_Link" href="#" onclick="return open_link('http://www.cnblogs.com/luluping/archive/2010/06.html');">2010年6月 (26)</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl01_LinkList_ctl06_Link" href="#" onclick="return open_link('http://www.cnblogs.com/luluping/archive/2010/05.html');">2010年5月 (8)</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl01_LinkList_ctl07_Link" href="#" onclick="return open_link('http://www.cnblogs.com/luluping/archive/2010/04.html');">2010年4月 (12)</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl01_LinkList_ctl08_Link" href="#" onclick="return open_link('http://www.cnblogs.com/luluping/archive/2010/03.html');">2010年3月 (25)</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl01_LinkList_ctl09_Link" href="#" onclick="return open_link('http://www.cnblogs.com/luluping/archive/2010/02.html');">2010年2月 (13)</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl01_LinkList_ctl10_Link" href="#" onclick="return open_link('http://www.cnblogs.com/luluping/archive/2010/01.html');">2010年1月 (23)</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl01_LinkList_ctl11_Link" href="#" onclick="return open_link('http://www.cnblogs.com/luluping/archive/2009/12.html');">2009年12月 (27)</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl01_LinkList_ctl12_Link" href="#" onclick="return open_link('http://www.cnblogs.com/luluping/archive/2009/11.html');">2009年11月 (13)</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl01_LinkList_ctl13_Link" href="#" onclick="return open_link('http://www.cnblogs.com/luluping/archive/2009/10.html');">2009年10月 (33)</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl01_LinkList_ctl14_Link" href="#" onclick="return open_link('http://www.cnblogs.com/luluping/archive/2009/09.html');">2009年9月 (65)</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl01_LinkList_ctl15_Link" href="#" onclick="return open_link('http://www.cnblogs.com/luluping/archive/2009/08.html');">2009年8月 (62)</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl01_LinkList_ctl16_Link" href="#" onclick="return open_link('http://www.cnblogs.com/luluping/archive/2009/07.html');">2009年7月 (102)</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl01_LinkList_ctl17_Link" href="#" onclick="return open_link('http://www.cnblogs.com/luluping/archive/2009/06.html');">2009年6月 (67)</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl01_LinkList_ctl18_Link" href="#" onclick="return open_link('http://www.cnblogs.com/luluping/archive/2009/05.html');">2009年5月 (31)</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl01_LinkList_ctl19_Link" href="#" onclick="return open_link('http://www.cnblogs.com/luluping/archive/2009/04.html');">2009年4月 (120)</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl01_LinkList_ctl20_Link" href="#" onclick="return open_link('http://www.cnblogs.com/luluping/archive/2009/03.html');">2009年3月 (13)</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl01_LinkList_ctl21_Link" href="#" onclick="return open_link('http://www.cnblogs.com/luluping/archive/2009/02.html');">2009年2月 (40)</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl01_LinkList_ctl22_Link" href="#" onclick="return open_link('http://www.cnblogs.com/luluping/archive/2009/01.html');">2009年1月 (21)</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl01_LinkList_ctl23_Link" href="#" onclick="return open_link('http://www.cnblogs.com/luluping/archive/2008/12.html');">2008年12月 (29)</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl01_LinkList_ctl24_Link" href="#" onclick="return open_link('http://www.cnblogs.com/luluping/archive/2008/11.html');">2008年11月 (17)</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl01_LinkList_ctl25_Link" href="#" onclick="return open_link('http://www.cnblogs.com/luluping/archive/2008/10.html');">2008年10月 (13)</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl01_LinkList_ctl26_Link" href="#" onclick="return open_link('http://www.cnblogs.com/luluping/archive/2008/09.html');">2008年9月 (8)</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl01_LinkList_ctl27_Link" href="#" onclick="return open_link('http://www.cnblogs.com/luluping/archive/2008/07.html');">2008年7月 (39)</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl01_LinkList_ctl28_Link" href="#" onclick="return open_link('http://www.cnblogs.com/luluping/archive/2008/06.html');">2008年6月 (34)</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl01_LinkList_ctl29_Link" href="#" onclick="return open_link('http://www.cnblogs.com/luluping/archive/2008/05.html');">2008年5月 (110)</a>
				</li>
			
				</ul>
			</div>
	
		<div id=cell>
		<img src="/Skins/KJC/Images/icon-group.jpg" hspace=5 align=left vspace=2><h3>文章分类</h3>
		
				<ul>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl02_LinkList_ctl01_RssLink" href="#" onclick="return open_link('http://www.cnblogs.com/luluping/category/125467.html/rss');"><img src="/Skins/KJC/Images/xmlsmall.gif" style="border-width:0px;" /></a><a id="Singlecolumn2_Categories_CatList_ctl02_LinkList_ctl01_Link" href="http://www.cnblogs.com/luluping/category/125467.html">.net 3.0</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl02_LinkList_ctl02_RssLink" href="#" onclick="return open_link('http://www.cnblogs.com/luluping/category/125472.html/rss');"><img src="/Skins/KJC/Images/xmlsmall.gif" style="border-width:0px;" /></a><a id="Singlecolumn2_Categories_CatList_ctl02_LinkList_ctl02_Link" href="http://www.cnblogs.com/luluping/category/125472.html">ajax</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl02_LinkList_ctl03_RssLink" href="#" onclick="return open_link('http://www.cnblogs.com/luluping/category/125477.html/rss');"><img src="/Skins/KJC/Images/xmlsmall.gif" style="border-width:0px;" /></a><a id="Singlecolumn2_Categories_CatList_ctl02_LinkList_ctl03_Link" href="http://www.cnblogs.com/luluping/category/125477.html">asp.net 2.0(2)</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl02_LinkList_ctl04_RssLink" href="#" onclick="return open_link('http://www.cnblogs.com/luluping/category/125475.html/rss');"><img src="/Skins/KJC/Images/xmlsmall.gif" style="border-width:0px;" /></a><a id="Singlecolumn2_Categories_CatList_ctl02_LinkList_ctl04_Link" href="http://www.cnblogs.com/luluping/category/125475.html">CSS</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl02_LinkList_ctl05_RssLink" href="#" onclick="return open_link('http://www.cnblogs.com/luluping/category/125476.html/rss');"><img src="/Skins/KJC/Images/xmlsmall.gif" style="border-width:0px;" /></a><a id="Singlecolumn2_Categories_CatList_ctl02_LinkList_ctl05_Link" href="http://www.cnblogs.com/luluping/category/125476.html">javascript</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl02_LinkList_ctl06_RssLink" href="#" onclick="return open_link('http://www.cnblogs.com/luluping/category/134577.html/rss');"><img src="/Skins/KJC/Images/xmlsmall.gif" style="border-width:0px;" /></a><a id="Singlecolumn2_Categories_CatList_ctl02_LinkList_ctl06_Link" href="http://www.cnblogs.com/luluping/category/134577.html">SEO 学习</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl02_LinkList_ctl07_RssLink" href="#" onclick="return open_link('http://www.cnblogs.com/luluping/category/125470.html/rss');"><img src="/Skins/KJC/Images/xmlsmall.gif" style="border-width:0px;" /></a><a id="Singlecolumn2_Categories_CatList_ctl02_LinkList_ctl07_Link" href="http://www.cnblogs.com/luluping/category/125470.html">Silverlight</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl02_LinkList_ctl08_RssLink" href="#" onclick="return open_link('http://www.cnblogs.com/luluping/category/125468.html/rss');"><img src="/Skins/KJC/Images/xmlsmall.gif" style="border-width:0px;" /></a><a id="Singlecolumn2_Categories_CatList_ctl02_LinkList_ctl08_Link" href="http://www.cnblogs.com/luluping/category/125468.html">企业库</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl02_LinkList_ctl09_RssLink" href="#" onclick="return open_link('http://www.cnblogs.com/luluping/category/125555.html/rss');"><img src="/Skins/KJC/Images/xmlsmall.gif" style="border-width:0px;" /></a><a id="Singlecolumn2_Categories_CatList_ctl02_LinkList_ctl09_Link" href="http://www.cnblogs.com/luluping/category/125555.html">设计模式(C#)</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl02_LinkList_ctl10_RssLink" href="#" onclick="return open_link('http://www.cnblogs.com/luluping/category/125474.html/rss');"><img src="/Skins/KJC/Images/xmlsmall.gif" style="border-width:0px;" /></a><a id="Singlecolumn2_Categories_CatList_ctl02_LinkList_ctl10_Link" href="http://www.cnblogs.com/luluping/category/125474.html">数据库(1)</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl02_LinkList_ctl11_RssLink" href="#" onclick="return open_link('http://www.cnblogs.com/luluping/category/125554.html/rss');"><img src="/Skins/KJC/Images/xmlsmall.gif" style="border-width:0px;" /></a><a id="Singlecolumn2_Categories_CatList_ctl02_LinkList_ctl11_Link" href="http://www.cnblogs.com/luluping/category/125554.html">正则表达式</a>
				</li>
			
				</ul>
			</div>
	
		<div id=cell>
		<img src="/Skins/KJC/Images/icon-group.jpg" hspace=5 align=left vspace=2><h3>文章档案</h3>
		
				<ul>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl03_LinkList_ctl01_Link" href="#" onclick="return open_link('http://www.cnblogs.com/luluping/archives/2008/03.html');">2008年3月 (4)</a>
				</li>
			
				</ul>
			</div>
	
		<div id=cell>
		<img src="/Skins/KJC/Images/icon-group.jpg" hspace=5 align=left vspace=2><h3>相册</h3>
		
				<ul>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl04_LinkList_ctl01_Link" href="#" onclick="return open_link('http://www.cnblogs.com/luluping/gallery/135019.html');">me</a>
				</li>
			
				</ul>
			</div>
	
		<div id=cell>
		<img src="/Skins/KJC/Images/icon-group.jpg" hspace=5 align=left vspace=2><h3>收藏夹</h3>
		
				<ul>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl05_LinkList_ctl01_RssLink" href="#" onclick="return open_link('http://www.cnblogs.com/luluping/favorite/134621.html/rss');"><img src="/Skins/KJC/Images/xmlsmall.gif" style="border-width:0px;" /></a><a id="Singlecolumn2_Categories_CatList_ctl05_LinkList_ctl01_Link" href="#" onclick="return open_link('http://www.cnblogs.com/luluping/favorite/134621.html');">site(6)</a>
				</li>
			
				</ul>
			</div>
	
		<div id=cell>
		<img src="/Skins/KJC/Images/icon-group.jpg" hspace=5 align=left vspace=2><h3>used Link</h3>
		
				<ul>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl01_Link" href="#" onclick="return open_link('http://www.cnblogs.com/mrhgw/archive/2008/08/06/1261664.html');"> .net 3.0 tool</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl02_Link" href="#" onclick="return open_link('http://www.ieinspector.com/dominspector/download.html');"> IE web develop</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl03_Link" href="#" onclick="return open_link('http://960.gs/');">960 System css</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl04_Link" href="#" onclick="return open_link('http://www.aspdognet.cn/aspnetmvc/');">asp.net  mvc</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl05_Link" href="#" onclick="return open_link('http://www.tzwhx.com/newOperate/html/1/11/112/13786.html');">ASP.NET MVC</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl06_Link" href="#" onclick="return open_link('http://www.cnblogs.com/QLeelulu/archive/2008/10/05/1303997.html');">ASP.NET MVC  Blog</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl07_Link" href="#" onclick="return open_link('http://www.cnblogs.com/chsword/archive/2008/03/10/dotnetmvcframework.html');">ASP.NET MVC 1.0</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl08_Link" href="#" onclick="return open_link('http://www.cnblogs.com/anytao/archive/2009/04/23/anytao-mvc-02-actionauthorize.html');">asp.net mvc blog</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl09_Link" href="#" onclick="return open_link('http://malsup.com/jquery/block/#demos');">BlockUI</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl10_Link" href="#" onclick="return open_link('http://www.china-pub.com/209131');">book site </a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl11_Link" href="#" onclick="return open_link('http://www.codeplex.com');">c# code source</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl12_Link" href="#" onclick="return open_link('http://terrylee.cnblogs.com/archive/2006/04/28/castl_ioc_article.html');">castl</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl13_Link" href="#" onclick="return open_link('http://www.cnblogs.com/cloudgamer/archive/2010/04/01/ImageZoom.html');">cloudgamer js 高手</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl14_Link" href="#" onclick="return open_link('http://www.cnblogs.com/shinings/archive/2009/05/08/1452681.html');">CodeSmith</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl15_Link" href="#" onclick="return open_link('http://www.456bereastreet.com');">css</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl16_Link" href="#" onclick="return open_link('http://blog.bingo929.com/12-javascript-browser-css-wrong.html');">css page</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl17_Link" href="#" onclick="return open_link('http://bbs.blueidea.com/thread-2692909-1-1.html');">css Q&A</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl18_Link" href="#" onclick="return open_link('http://blog.bingo929.com/best-of-css-design-2008.html');">css useful Link </a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl19_Link" href="http://www.css88.com/archives/category/develop-tool">css88</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl20_Link" href="#" onclick="return open_link('http://www.isparkle.cn/show/csstidy/?lang=cn');">CSS整理与优化工具</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl21_Link" href="#" onclick="return open_link('http://data.socut.com/');">data acess help</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl22_Link" href="#" onclick="return open_link('http://www.cnblogs.com/fanrong/archive/2009/11/24/edogantt.html');">EdoGantt易度甘特图功能示例和开发手册 </a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl23_Link" href="#" onclick="return open_link('http://www.c-sharpcorner.com');">english site</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl24_Link" href="#" onclick="return open_link('http://www.cnblogs.com/zhuweisky/archive/2009/08/29/1556348.html');">ESBasic</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl25_Link" href="#" onclick="return open_link('http://www.cnblogs.com/zhuweisky/archive/2010/09/11/1823864.html');">ESFramework 4.0 快速上手 </a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl26_Link" href="#" onclick="return open_link('http://www.myext.cn/Article/List_5_7.html');">ext </a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl27_Link" href="#" onclick="return open_link('http://www.dojochina.com/book/ext/examples/desktop/desktop.html');">ext example</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl28_Link" href="#" onclick="return open_link('http://www.cnblogs.com/mogen_yin/archive/2008/10/28/1321162.html');">Ext2.2学习系列</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl29_Link" href="#" onclick="return open_link('http://www.vifir.com/extjs/');">extjs site</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl30_Link" href="#" onclick="return open_link('http://www.schillmania.com/projects/35mm/');">Flash</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl31_Link" href="#" onclick="return open_link('http://www.schillmania.com/projects/fireworks/');">Flash 2</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl32_Link" href="#" onclick="return open_link('http://flex.csdn.net/c_channelrecomm/tag/2');">flex resource</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl33_Link" href="#" onclick="return open_link('http://www.w3pop.com');">html website2</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl34_Link" href="#" onclick="return open_link('http://web.kingyar.com/ArticleTree.aspx?id=25');">Html教程 </a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl35_Link" href="#" onclick="return open_link('平台化开发技术');">http://www.cnblogs.com/Jeez_JBF/</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl36_Link" href="#" onclick="return open_link('http://www.open-open.com/');">http://www.open-open.com/</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl37_Link" href="#" onclick="return open_link('http://ent.qq.com/a/20101022/000013.htm#p=2');">imageScoll</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl38_Link" href="#" onclick="return open_link('http://www.makewing.com/');">img</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl39_Link" href="#" onclick="return open_link('http://www.webresourcesdepot.com/25-amazing-javascript-games-some-fun-and-inspiration/');">javascript Game</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl40_Link" href="#" onclick="return open_link('http://www.cssrain.cn/default.asp');">javascript UI</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl41_Link" href="#" onclick="return open_link('http://www.okajax.com/A/ajaxtc/ajaxfm/jquery/');">jQuer Info</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl42_Link" href="#" onclick="return open_link('http://malsup.com/jquery/');">jQuery  malsup</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl43_Link" href="#" onclick="return open_link('http://code.google.com/p/jquery-api-zh-cn/downloads/list');">jQuery api</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl44_Link" href="#" onclick="return open_link('http://www.94this.com.cn/');">jquery blog </a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl45_Link" href="#" onclick="return open_link('http://jquery.malsup.com/cycle/');">jQuery Cycle Plugin</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl46_Link" href="http://www.jankoatwarpspeed.com/category/Resources.aspx">jQuery Example</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl47_Link" href="#" onclick="return open_link('http://nyromodal.nyrodev.com/');">jQuery P</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl48_Link" href="#" onclick="return open_link('http://jquery-easyui.wikidot.com/tutorial');">jQuery UI使用</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl49_Link" href="#" onclick="return open_link('http://www.biuuu.com/index.php?cat=162&amp;page=2');">jQuery 插件2</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl50_Link" href="#" onclick="return open_link('http://jtemplates.tpython.com/');">jQuery 的模板技术</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl51_Link" href="#" onclick="return open_link('http://www.oschina.net/p/jqchart');">jQuery 开源</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl52_Link" href="#" onclick="return open_link('http://www.gmarwaha.com/jquery/jcarousellite/index.php#demo');">jquery 无间缝滚动</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl53_Link" href="#" onclick="return open_link('http://www.cssrain.cn/demo/bbs.html');">jQuery 资源</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl54_Link" href="#" onclick="return open_link('http://bbs.jquery.org.cn/thread.php?fid-3-page-3.html');">jQuerybbs</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl55_Link" href="#" onclick="return open_link('http://www.cnjquery.com/');">jQuery爱好者</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl56_Link" href="#" onclick="return open_link('http://www.oschina.net/p/form+plugin/similar_projects?show=hots&amp;p=2');">jQuery插件</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl57_Link" href="#" onclick="return open_link('http://www.php100.com/html/webkaifa/javascript/2010/0728/5068.html');">jQuery特效展示</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl58_Link" href="#" onclick="return open_link('http://bxslider.com/');">Jquery图片滚动插件—BxCarousel</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl59_Link" href="#" onclick="return open_link('http://www.jqueryajax.com/');">jQuery中文博客</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl60_Link" href="#" onclick="return open_link('http://www.jslab.org.cn/?tag=Memoization');">js link</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl61_Link" href="#" onclick="return open_link('http://www.cnblogs.com/floyd/archive/2010/10/26/1861334.html');">js play  </a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl62_Link" href="#" onclick="return open_link('http://www.json.org/');">JSON网站</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl63_Link" href="#" onclick="return open_link('http://www.edojs.com/');">js框架事例</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl64_Link" href="#" onclick="return open_link('http://www.scriptlover.com/controls/');">js特效</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl65_Link" href="#" onclick="return open_link('http://www.ourjs.cn');">js学习网站（很多框架）</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl66_Link" href="#" onclick="return open_link('http://kissyteam.github.com/docs/kissy/');">KISSY 快讯 </a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl67_Link" href="#" onclick="return open_link('http://www.cnblogs.com/hzbzxm/archive/2008/11/29/1344008.html');">Microsoft c#Windows程序设计(上下册)电子书下载 </a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl68_Link" href="#" onclick="return open_link('http://tech.ddvip.com/2008-11/122630912991066_5.html');">net企业级架构</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl69_Link" href="#" onclick="return open_link('http://www.cnblogs.com/legendxian/archive/2009/12/25/1632350.html');">NHibenate blog</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl70_Link" href="#" onclick="return open_link('http://www.cnblogs.com/jyk/archive/2008/04/25/1170979.html');">PageControll</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl71_Link" href="#" onclick="return open_link('http://www.zendstudio.net/libs/zendstudio5_5_1-keymaker-php/index.php?Act=Sub');">php</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl72_Link" href="#" onclick="return open_link('http://www.zendstudio.net/zend_studio-6_1/');">php userfull info</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl73_Link" href="#" onclick="return open_link('http://blog.s135.com/post/366/');">php 服务器配置</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl74_Link" href="#" onclick="return open_link('http://www.ozcandegirmenci.com/2008/05/default.aspx');">problem</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl75_Link" href="#" onclick="return open_link('http://www.desteps.com/design/impact/1024_3.html');">PS、CSS与jQuery打造动态渐变特效按钮(3)</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl76_Link" href="#" onclick="return open_link('http://www.desteps.com/picture/photoshop/704.html');">PS制作图片的矩形圆角效果</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl77_Link" href="#" onclick="return open_link('http://web.kingyar.com');">Scriptaculous学习</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl78_Link" href="#" onclick="return open_link('http://www.cnblogs.com/millen/archive/2009/12/30/1635936.html');">spring.net</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl79_Link" href="#" onclick="return open_link('http://www.cnblogs.com/goodhelper/archive/2009/11/20/springnet_index.html');">Spring.NET blog</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl80_Link" href="#" onclick="return open_link('http://www.g168.net/txt/tsql/');">sql开发手册</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl81_Link" href="#" onclick="return open_link('http://501000.cn/space-1-do-thread-id-16.html');">subsonic</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl82_Link" href="#" onclick="return open_link('http://www.danvk.org/wp/dragtable/');">table</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl83_Link" href="#" onclick="return open_link('http://www.heruo.com/blog/');">UI  UI</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl84_Link" href="#" onclick="return open_link('http://www.telerik.com/');">UI Controls </a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl85_Link" href="#" onclick="return open_link('http://bbs.blueidea.com/viewthread.php?tid=2729525');">UI Q&A</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl86_Link" href="#" onclick="return open_link('http://www.nextway.cn/2009/01/%e5%9b%bd%e5%a4%96%e6%9c%80%e4%bd%b3web%e8%ae%be%e8%ae%a1%e5%bc%80%e5%8f%91%e6%8a%80%e5%b7%a7%e8%84%9a%e6%9c%ac%e5%8f%8a%e8%b5%84%e6%ba%90%e6%80%bb%e7%bb%93.htm');">UI Web site</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl87_Link" href="http://parandroid.com/category/css/">useful links</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl88_Link" href="#" onclick="return open_link('http://parandroid.com/45-freshly-plug-in-the-jquery/');">useful UI Links</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl89_Link" href="#" onclick="return open_link('http://www.w3css.com/');">w3css</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl90_Link" href="#" onclick="return open_link('http://www.mymxp.cn/');">WEB 2.0 Site</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl91_Link" href="#" onclick="return open_link('http://www.cnblogs.com/yibinboy/articles/1637463.html');">windows 程序</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl92_Link" href="#" onclick="return open_link('http://www.cnblogs.com/peterzb/favorite/199436.html');">winfrom blog</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl93_Link" href="#" onclick="return open_link('http://www.developershome.com/wap/wml/wmlIntro.asp');">wml 手机开发</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl94_Link" href="#" onclick="return open_link('http://www.cnblogs.com/artech/archive/2009/07/15/1524456.html');">WPF blog</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl95_Link" href="#" onclick="return open_link('http://www.yuyadong.com/');">yuyadong</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl96_Link" href="#" onclick="return open_link('http://www.cnblogs.com/kerrycode/archive/2010/08/14/1799392.html');">存储过程</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl97_Link" href="#" onclick="return open_link('http://www.cnblogs.com/webreport/archive/2010/08/11/1797282.html');">工作流</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl98_Link" href="#" onclick="return open_link('http://www.mxgraph.com/mxgraph.html');">工作流图JS</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl99_Link" href="#" onclick="return open_link('http://www.desteps.com/design/impact/1010.html');">基于Jquery图片滚动的marquee插件</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl100_Link" href="#" onclick="return open_link('http://wiki.chinalabs.com/index.php?category-view-31');">开源描述</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl101_Link" href="#" onclick="return open_link('http://www.oschina.net');">开源中国社区</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl102_Link" href="#" onclick="return open_link('http://litianping.blog.51cto.com/');">李天平博客</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl103_Link" href="#" onclick="return open_link('http://bbs.okajax.com/');">前台UI</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl104_Link" href="#" onclick="return open_link('http://www.cnblogs.com/jyk/archive/2009/09/09/1563269.html');">权限</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl105_Link" href="#" onclick="return open_link('http://www.cnblogs.com/wuchang/archive/2008/02/18/1072797.html');">让VS2008对JQuery语法的智能感知更完美一点 </a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl106_Link" href="#" onclick="return open_link('http://www.docin.com/p-44561337.html');">时间管理</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl107_Link" href="#" onclick="return open_link('http://www.wo2jia.com/viewthread.php?tid=3353');">实例讲解基于jQuery的AJAX和JSON实现纯html数据模板</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl108_Link" href="#" onclick="return open_link('http://www.cnblogs.com/yriyr/archive/2010/06/26/1765715.html');">视频</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl109_Link" href="#" onclick="return open_link('http://www.cnblogs.com/beniao/');">视频播客</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl110_Link" href="#" onclick="return open_link('http://www.ppurl.com/2009/11/asp-net-mvc-1-0-test-driven-development-problem-design-solution.html');">书库</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl111_Link" href="#" onclick="return open_link('http://www.uedmagazine.com/ued/index.php');">淘宝前台开发</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl112_Link" href="#" onclick="return open_link('http://www.freecsstemplates.org/');">网页模板</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl113_Link" href="#" onclick="return open_link('http://www.weijienet.com');">网站</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl114_Link" href="#" onclick="return open_link('http://www.dbanotes.net/');">网站技术框架</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl115_Link" href="#" onclick="return open_link('http://www.fuguojian.cn/blog2/article.asp?id=241');">文字滚动效果大集合</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl116_Link" href="#" onclick="return open_link('http://www.cnblogs.com/isline/archive/2009/12/29/1635150.html');">项目管理</a>
				</li>
			
				<li><a id="Singlecolumn2_Categories_CatList_ctl06_LinkList_ctl117_Link" href="#" onclick="return open_link('http://feiyu.asgard.cn/');">有用的个人主页1</a>
				</li>
			
				</ul>
			</div>
	

<div id="cell">
<img src="/Skins/KJC/Images/icon-group.jpg" hspace=5 align=left vspace=2><h3>最新随笔</h3>
<ul class="side_left_list">
	
	
			<li><a id="Singlecolumn2__17a020328deb_RecentPostsList_ctl00_RecentPostsList2_ctl00_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2010/10/30/1864926.html">1. 10个Jquery幻灯片插件教程</a></li>
		
			<li><a id="Singlecolumn2__17a020328deb_RecentPostsList_ctl00_RecentPostsList2_ctl01_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2010/10/30/1864924.html">2. Jquery图片滚动插件—BxCarousel</a></li>
		
		
	
			<li><a id="Singlecolumn2__17a020328deb_RecentPostsList_ctl01_RecentPostsList2_ctl00_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2010/10/29/1864278.html">3. self和、_top、_blank、_parent用于超链接的目标窗口</a></li>
		
			<li><a id="Singlecolumn2__17a020328deb_RecentPostsList_ctl01_RecentPostsList2_ctl01_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2010/10/29/1864237.html">4. JavaScript的document和window对象详解</a></li>
		
			<li><a id="Singlecolumn2__17a020328deb_RecentPostsList_ctl01_RecentPostsList2_ctl02_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2010/10/29/1864228.html">5. window parent  top  self</a></li>
		
		
	
			<li><a id="Singlecolumn2__17a020328deb_RecentPostsList_ctl02_RecentPostsList2_ctl00_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2010/10/26/1861271.html">6. IIS开启GZIP压缩效率对比及部署方法 (转)</a></li>
		
		
	
			<li><a id="Singlecolumn2__17a020328deb_RecentPostsList_ctl03_RecentPostsList2_ctl00_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2010/10/22/1858707.html">7. Spring.NET教程（二）——环境搭建(基础篇) (转)</a></li>
		
			<li><a id="Singlecolumn2__17a020328deb_RecentPostsList_ctl03_RecentPostsList2_ctl01_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2010/10/22/1858477.html">8. Spring.net 调webservice 参数为空的异常</a></li>
		
			<li><a id="Singlecolumn2__17a020328deb_RecentPostsList_ctl03_RecentPostsList2_ctl02_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2010/10/22/1858454.html">9. Remoting方法重载遇到的一个问题</a></li>
		
			<li><a id="Singlecolumn2__17a020328deb_RecentPostsList_ctl03_RecentPostsList2_ctl03_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2010/10/22/1858218.html">10. 利用Spring解耦VS的WebService</a></li>
		
		
	
			<li><a id="Singlecolumn2__17a020328deb_RecentPostsList_ctl04_RecentPostsList2_ctl00_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2010/10/15/1851892.html">11. JS面向对象、prototype、call()、apply()和实例</a></li>
		
		
	
			<li><a id="Singlecolumn2__17a020328deb_RecentPostsList_ctl05_RecentPostsList2_ctl00_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2010/10/13/1849858.html">12. 如何在asp.net中实现返回上一页的功能</a></li>
		
			<li><a id="Singlecolumn2__17a020328deb_RecentPostsList_ctl05_RecentPostsList2_ctl01_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2010/10/13/1849772.html">13. 发现并解决ASP.NET内存耗尽(OOM),让服务器&quot;永不重启&quot;</a></li>
		
		
	
			<li><a id="Singlecolumn2__17a020328deb_RecentPostsList_ctl06_RecentPostsList2_ctl00_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2010/10/12/1849144.html">14. 结构/表现/行为完全分离的选项卡(jQ版和原生JS版)</a></li>
		
			<li><a id="Singlecolumn2__17a020328deb_RecentPostsList_ctl06_RecentPostsList2_ctl01_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2010/10/12/1849142.html">15. 基于jQuery的上下无缝滚动应用(单行或多行)</a></li>
		
			<li><a id="Singlecolumn2__17a020328deb_RecentPostsList_ctl06_RecentPostsList2_ctl02_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2010/10/12/1849138.html">16. WEB前端开发规范文档(for: mrthink.net)</a></li>
		
			<li><a id="Singlecolumn2__17a020328deb_RecentPostsList_ctl06_RecentPostsList2_ctl03_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2010/10/12/1848360.html">17. css透明度的设置 （兼容所有浏览器）</a></li>
		
		
	
			<li><a id="Singlecolumn2__17a020328deb_RecentPostsList_ctl07_RecentPostsList2_ctl00_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2010/10/11/1847669.html">18. Iframe, onload 与 document.domain</a></li>
		
		
	
			<li><a id="Singlecolumn2__17a020328deb_RecentPostsList_ctl08_RecentPostsList2_ctl00_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2010/10/06/1844753.html">19. CuteEditor使用</a></li>
		
		
	
			<li><a id="Singlecolumn2__17a020328deb_RecentPostsList_ctl09_RecentPostsList2_ctl00_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2010/10/04/1842101.html">20. ASP.NET的控件Gridview在Firefox中的Border显示问题</a></li>
		
	
</ul>
</div>

<div id=cell>
<img src="/Skins/KJC/Images/icon-group.jpg" hspace=5 align=left vspace=2><H3>积分与排名</H3>
<ul>
	<li>
		积分 -
		262320
	<li>
		排名 -
		236
	</li>
</ul>
</div>

<div id="cell">
<img src="/Skins/KJC/Images/icon-group.jpg" hspace=5 align=left vspace=2><h3>阅读排行榜</h3>
<div class="RecentComment">
	
			<ul style="word-break:break-all">
		
			<li>
				<a id="Singlecolumn2__2d5f9c947b09_TopList_ctl01_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2009/04/15/1436177.html">1. jquery表单验证插件 jquery.form.js(11827)</a>
			</li>
		
			<li>
				<a id="Singlecolumn2__2d5f9c947b09_TopList_ctl02_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2009/07/21/1527471.html">2. ExtJs之Ext.data.Store(4181)</a>
			</li>
		
			<li>
				<a id="Singlecolumn2__2d5f9c947b09_TopList_ctl03_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2009/04/30/1446654.html">3. C#的String.Split方法(4098)</a>
			</li>
		
			<li>
				<a id="Singlecolumn2__2d5f9c947b09_TopList_ctl04_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2008/05/16/1199680.html">4. jQuery UI --- Layout(布局)(3714)</a>
			</li>
		
			<li>
				<a id="Singlecolumn2__2d5f9c947b09_TopList_ctl05_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2008/05/04/1181434.html">5. jquery 与正则表达式应用 (3630)</a>
			</li>
		
			<li>
				<a id="Singlecolumn2__2d5f9c947b09_TopList_ctl06_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2009/07/23/1529330.html">6. jQuery弹出层插件简化版(3177)</a>
			</li>
		
			<li>
				<a id="Singlecolumn2__2d5f9c947b09_TopList_ctl07_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2009/02/28/1400522.html">7. 7个强大超酷的CSS导航菜单(2857)</a>
			</li>
		
			<li>
				<a id="Singlecolumn2__2d5f9c947b09_TopList_ctl08_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2009/06/18/1505754.html">8. 软件需求分析方法(2849)</a>
			</li>
		
			<li>
				<a id="Singlecolumn2__2d5f9c947b09_TopList_ctl09_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2009/05/21/1486549.html">9. SQL中使用update inner join和delete inner join(2696)</a>
			</li>
		
			<li>
				<a id="Singlecolumn2__2d5f9c947b09_TopList_ctl10_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2009/08/01/1536645.html">10. Ext.GridPanel 用法总结（一）—— Grid基本用法(2538)</a>
			</li>
		
			<li>
				<a id="Singlecolumn2__2d5f9c947b09_TopList_ctl11_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2008/05/15/1199178.html">11. jQuery插件之Jquery.treeview-Jquery树型菜单(4demo).(2488)</a>
			</li>
		
			<li>
				<a id="Singlecolumn2__2d5f9c947b09_TopList_ctl12_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2008/05/05/1182950.html">12. 彻底解决IE6下Asp.net Ajax客户端框架未能加载(2152)</a>
			</li>
		
			<li>
				<a id="Singlecolumn2__2d5f9c947b09_TopList_ctl13_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2009/05/21/1485894.html">13. ASP.NET2.0中RegisterClientScriptBlock 怎样用(2134)</a>
			</li>
		
			<li>
				<a id="Singlecolumn2__2d5f9c947b09_TopList_ctl14_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2008/05/05/1184169.html">14. jQuery 编辑器（转载）(2101)</a>
			</li>
		
			<li>
				<a id="Singlecolumn2__2d5f9c947b09_TopList_ctl15_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2009/04/19/1439084.html">15. jQuery插件JQuery Pager分页器实现javascript分页功能(2095)</a>
			</li>
		
			<li>
				<a id="Singlecolumn2__2d5f9c947b09_TopList_ctl16_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2009/04/17/1437767.html">16. 用jQuery在IFRAME里取得父窗口的某个元素的值 (2044)</a>
			</li>
		
			<li>
				<a id="Singlecolumn2__2d5f9c947b09_TopList_ctl17_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2009/07/20/1527360.html">17. 面板的使用(Ext.Panle、Ext.TabPanel、Ext.Viewport)(1928)</a>
			</li>
		
			<li>
				<a id="Singlecolumn2__2d5f9c947b09_TopList_ctl18_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2009/04/23/1442192.html">18. jQuery插件—获取URL参数(1881)</a>
			</li>
		
			<li>
				<a id="Singlecolumn2__2d5f9c947b09_TopList_ctl19_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2009/04/14/1435500.html">19. ASP.NET MVC + jQuery + Newtonsoft.Json 快乐的AJAX(1868)</a>
			</li>
		
			<li>
				<a id="Singlecolumn2__2d5f9c947b09_TopList_ctl20_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2009/04/19/1439113.html">20. 项目分享---jQuery Grid(1804)</a>
			</li>
		
			<li>
				<a id="Singlecolumn2__2d5f9c947b09_TopList_ctl21_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2009/01/14/1375453.html">21. Windows下的.NET+ Memcached安装(1742)</a>
			</li>
		
			<li>
				<a id="Singlecolumn2__2d5f9c947b09_TopList_ctl22_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2008/09/28/1301403.html">22. jquery插件thickbox遮罩层的的使用 (1703)</a>
			</li>
		
			<li>
				<a id="Singlecolumn2__2d5f9c947b09_TopList_ctl23_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2009/07/25/1531093.html">23. 10个jquery动画菜单：插件和教程(1693)</a>
			</li>
		
			<li>
				<a id="Singlecolumn2__2d5f9c947b09_TopList_ctl24_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2009/04/19/1439122.html">24. jQuery练习---jQuery Menu,菜单(1692)</a>
			</li>
		
			<li>
				<a id="Singlecolumn2__2d5f9c947b09_TopList_ctl25_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2009/04/20/1440067.html">25. jQuery插件---强大的遮罩层(NyroModal)(1681)</a>
			</li>
		
			<li>
				<a id="Singlecolumn2__2d5f9c947b09_TopList_ctl26_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2009/04/22/1441600.html">26. 超有用的JS正则表达式大全!!!!!!(1555)</a>
			</li>
		
			<li>
				<a id="Singlecolumn2__2d5f9c947b09_TopList_ctl27_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2009/03/08/1406164.html">27. CuteEditor学习总结技巧 (1545)</a>
			</li>
		
			<li>
				<a id="Singlecolumn2__2d5f9c947b09_TopList_ctl28_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2009/07/31/1536190.html">28. ExtJS学习笔记 layout的9种样式风格总结(转)(1538)</a>
			</li>
		
			<li>
				<a id="Singlecolumn2__2d5f9c947b09_TopList_ctl29_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2009/08/27/1555337.html">29. jquery UI入门手册(1492)</a>
			</li>
		
			<li>
				<a id="Singlecolumn2__2d5f9c947b09_TopList_ctl30_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2009/01/16/1377233.html">30. Zend studio视频教程(1)——项目管理和服务器调试 (1476)</a>
			</li>
		
			<li>
				<a id="Singlecolumn2__2d5f9c947b09_TopList_ctl31_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2009/02/13/1389797.html">31. asp.net连接Mysql(connector/net 5.0) (1447)</a>
			</li>
		
			<li>
				<a id="Singlecolumn2__2d5f9c947b09_TopList_ctl32_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2009/05/19/1459861.html">32. jQuery-图片预加载+等比例缩放(1430)</a>
			</li>
		
			<li>
				<a id="Singlecolumn2__2d5f9c947b09_TopList_ctl33_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2009/04/21/1440617.html">33. iframe里用jquery获取父页面body(1413)</a>
			</li>
		
			<li>
				<a id="Singlecolumn2__2d5f9c947b09_TopList_ctl34_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2008/05/05/1182844.html">34. 12 个极具创意的 Javascript + CSS 菜单效果 (转载)(1399)</a>
			</li>
		
			<li>
				<a id="Singlecolumn2__2d5f9c947b09_TopList_ctl35_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2009/04/17/1437843.html">35. jquery 实现iframe 自适应高度(1382)</a>
			</li>
		
			<li>
				<a id="Singlecolumn2__2d5f9c947b09_TopList_ctl36_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2008/05/17/1201348.html">36. Jquery插件之翻页效果(1371)</a>
			</li>
		
			<li>
				<a id="Singlecolumn2__2d5f9c947b09_TopList_ctl37_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2009/04/20/1440031.html">37. JavaScript---右键菜单(1347)</a>
			</li>
		
			<li>
				<a id="Singlecolumn2__2d5f9c947b09_TopList_ctl38_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2009/01/07/1370859.html">38. NET Framework 3.5 SP1完整版发布(1323)</a>
			</li>
		
			<li>
				<a id="Singlecolumn2__2d5f9c947b09_TopList_ctl39_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2008/10/14/1310726.html">39. css+js无限级菜单(1251)</a>
			</li>
		
			<li>
				<a id="Singlecolumn2__2d5f9c947b09_TopList_ctl40_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2009/04/19/1439083.html">40. jquery 分页(1233)</a>
			</li>
		
			</ul>
		
</div>
</div>

<div id="cell">
<img src="/Skins/KJC/Images/icon-group.jpg" hspace=5 align=left vspace=2><h3>60天内阅读排行</h3>
<div class="RecentComment">
	
			<ul>
		
			<li style="word-break:break-all">
				<a id="Singlecolumn2__19a9307_TopList_ctl01_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2010/09/06/1818841.html">1. ORA-12528: TNS: 监听程序: 所有适用的例程都不允许建(58)</a>
			</li>
		
			<li style="word-break:break-all">
				<a id="Singlecolumn2__19a9307_TopList_ctl02_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2010/10/11/1847669.html">2. Iframe, onload 与 document.domain(51)</a>
			</li>
		
			<li style="word-break:break-all">
				<a id="Singlecolumn2__19a9307_TopList_ctl03_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2010/09/17/1828515.html">3. C#如何用Js实现Ctrl+S/Ctrl+N/Ctrl+Z提交/撤销/新建/附:Keycode常数表(44)</a>
			</li>
		
			<li style="word-break:break-all">
				<a id="Singlecolumn2__19a9307_TopList_ctl04_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2010/09/19/1831075.html">4. Powerdesigner 逆向工程 sql/DataBase-PDM-CDM转换(41)</a>
			</li>
		
			<li style="word-break:break-all">
				<a id="Singlecolumn2__19a9307_TopList_ctl05_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2010/09/30/1839199.html">5. 去除链接，button，image button的点击时虚线框(38)</a>
			</li>
		
			<li style="word-break:break-all">
				<a id="Singlecolumn2__19a9307_TopList_ctl06_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2010/09/19/1831076.html">6. PowerDesigner加速IQ数据仓库设计与实现(36)</a>
			</li>
		
			<li style="word-break:break-all">
				<a id="Singlecolumn2__19a9307_TopList_ctl07_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2010/10/12/1849142.html">7. 基于jQuery的上下无缝滚动应用(单行或多行)(34)</a>
			</li>
		
			<li style="word-break:break-all">
				<a id="Singlecolumn2__19a9307_TopList_ctl08_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2010/10/13/1849858.html">8. 如何在asp.net中实现返回上一页的功能(33)</a>
			</li>
		
			<li style="word-break:break-all">
				<a id="Singlecolumn2__19a9307_TopList_ctl09_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2010/10/06/1844753.html">9. CuteEditor使用(32)</a>
			</li>
		
			<li style="word-break:break-all">
				<a id="Singlecolumn2__19a9307_TopList_ctl10_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2010/09/29/1838364.html">10. asp.net 用户控件和自定义控件注册(32)</a>
			</li>
		
			<li style="word-break:break-all">
				<a id="Singlecolumn2__19a9307_TopList_ctl11_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2010/10/12/1849144.html">11. 结构/表现/行为完全分离的选项卡(jQ版和原生JS版)(31)</a>
			</li>
		
			<li style="word-break:break-all">
				<a id="Singlecolumn2__19a9307_TopList_ctl12_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2010/09/02/1815805.html">12. .net下载文件的常用方法汇总(30)</a>
			</li>
		
			<li style="word-break:break-all">
				<a id="Singlecolumn2__19a9307_TopList_ctl13_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2010/09/19/1831084.html">13. PowerDesigner教程系列（一）概念数据模型(28)</a>
			</li>
		
			<li style="word-break:break-all">
				<a id="Singlecolumn2__19a9307_TopList_ctl14_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2010/09/30/1839231.html">14. 去掉图片连接的虚框(28)</a>
			</li>
		
			<li style="word-break:break-all">
				<a id="Singlecolumn2__19a9307_TopList_ctl15_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2010/09/19/1831082.html">15. PowerDesigner教程系列（三）概念数据模型(27)</a>
			</li>
		
			<li style="word-break:break-all">
				<a id="Singlecolumn2__19a9307_TopList_ctl16_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2010/09/15/1826961.html">16. Response.ContentType 详细列表(26)</a>
			</li>
		
			<li style="word-break:break-all">
				<a id="Singlecolumn2__19a9307_TopList_ctl17_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2010/09/19/1831085.html">17. PowerDesigner设置集锦(25)</a>
			</li>
		
			<li style="word-break:break-all">
				<a id="Singlecolumn2__19a9307_TopList_ctl18_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2010/10/12/1849138.html">18. WEB前端开发规范文档(for: mrthink.net)(24)</a>
			</li>
		
			<li style="word-break:break-all">
				<a id="Singlecolumn2__19a9307_TopList_ctl19_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2010/09/19/1831058.html">19. 如何用Powerdesigner的PDM(物理数据模型)生成数据库(24)</a>
			</li>
		
			<li style="word-break:break-all">
				<a id="Singlecolumn2__19a9307_TopList_ctl20_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2010/09/19/1831083.html">20. PowerDesigner教程系列（二）概念数据模型(23)</a>
			</li>
		
			<li style="word-break:break-all">
				<a id="Singlecolumn2__19a9307_TopList_ctl21_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2010/09/19/1831080.html">21. werDesigner教程系列（四）概念数据模型(21)</a>
			</li>
		
			<li style="word-break:break-all">
				<a id="Singlecolumn2__19a9307_TopList_ctl22_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2010/09/30/1839456.html">22. http://www.ediyang.com/demo/DD_Png/(21)</a>
			</li>
		
			<li style="word-break:break-all">
				<a id="Singlecolumn2__19a9307_TopList_ctl23_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2010/10/13/1849772.html">23. 发现并解决ASP.NET内存耗尽(OOM),让服务器&quot;永不重启&quot;(21)</a>
			</li>
		
			<li style="word-break:break-all">
				<a id="Singlecolumn2__19a9307_TopList_ctl24_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2010/10/15/1851892.html">24. JS面向对象、prototype、call()、apply()和实例(21)</a>
			</li>
		
			<li style="word-break:break-all">
				<a id="Singlecolumn2__19a9307_TopList_ctl25_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2010/09/25/1834343.html">25. Oracle中 Alter Table(20)</a>
			</li>
		
			<li style="word-break:break-all">
				<a id="Singlecolumn2__19a9307_TopList_ctl26_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2010/09/19/1831078.html">26. PowerDesigner教程系列（六）概念数据模型(18)</a>
			</li>
		
			<li style="word-break:break-all">
				<a id="Singlecolumn2__19a9307_TopList_ctl27_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2010/09/19/1831066.html">27. PowerDesigner设计数据库(18)</a>
			</li>
		
			<li style="word-break:break-all">
				<a id="Singlecolumn2__19a9307_TopList_ctl28_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2010/10/12/1848360.html">28. css透明度的设置 （兼容所有浏览器）(18)</a>
			</li>
		
			<li style="word-break:break-all">
				<a id="Singlecolumn2__19a9307_TopList_ctl29_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2010/10/22/1858707.html">29. Spring.NET教程（二）——环境搭建(基础篇) (转)(18)</a>
			</li>
		
			<li style="word-break:break-all">
				<a id="Singlecolumn2__19a9307_TopList_ctl30_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2010/10/30/1864924.html">30. Jquery图片滚动插件—BxCarousel(16)</a>
			</li>
		
			<li style="word-break:break-all">
				<a id="Singlecolumn2__19a9307_TopList_ctl31_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2010/10/29/1864278.html">31. self和、_top、_blank、_parent用于超链接的目标窗口(15)</a>
			</li>
		
			<li style="word-break:break-all">
				<a id="Singlecolumn2__19a9307_TopList_ctl32_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2010/10/26/1861271.html">32. IIS开启GZIP压缩效率对比及部署方法 (转)(15)</a>
			</li>
		
			<li style="word-break:break-all">
				<a id="Singlecolumn2__19a9307_TopList_ctl33_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2010/10/04/1842101.html">33. ASP.NET的控件Gridview在Firefox中的Border显示问题(15)</a>
			</li>
		
			<li style="word-break:break-all">
				<a id="Singlecolumn2__19a9307_TopList_ctl34_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2010/09/19/1831070.html">34. PowerDesigner 的常用方法(14)</a>
			</li>
		
			<li style="word-break:break-all">
				<a id="Singlecolumn2__19a9307_TopList_ctl35_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2010/09/19/1831063.html">35. PowerDesigner 11 使用心得(13)</a>
			</li>
		
			<li style="word-break:break-all">
				<a id="Singlecolumn2__19a9307_TopList_ctl36_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2010/09/19/1831079.html">36. PowerDesigner教程系列（五）概念数据模型(13)</a>
			</li>
		
			<li style="word-break:break-all">
				<a id="Singlecolumn2__19a9307_TopList_ctl37_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2010/10/22/1858218.html">37. 利用Spring解耦VS的WebService(12)</a>
			</li>
		
			<li style="word-break:break-all">
				<a id="Singlecolumn2__19a9307_TopList_ctl38_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2010/10/30/1864926.html">38. 10个Jquery幻灯片插件教程(11)</a>
			</li>
		
			<li style="word-break:break-all">
				<a id="Singlecolumn2__19a9307_TopList_ctl39_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2010/10/22/1858477.html">39. Spring.net 调webservice 参数为空的异常(11)</a>
			</li>
		
			<li style="word-break:break-all">
				<a id="Singlecolumn2__19a9307_TopList_ctl40_Hyperlink1" href="http://www.cnblogs.com/luluping/archive/2010/10/29/1864237.html">40. JavaScript的document和window对象详解(11)</a>
			</li>
		
			</ul>
		
</div>
</div>
</div>

<script language="javascript" type="text/javascript" src="http://js.users.51.la/3398511.js"></script>
    </form>
	<script type="text/javascript" src="http://common.cnblogs.com/script/shCore.js"></script>
	<script type="text/javascript" src="http://common.cnblogs.com/script/shLanguage.js"></script>
    <script type="text/javascript">
        try {
            SyntaxHighlighter.config.clipboardSwf = 'http://common.cnblogs.com/flash/clipboard.swf';
            SyntaxHighlighter.all();
        } catch (e) { }
    </script>  
    <script type="text/javascript" src="http://www.cnblogs.com/script/ShowHidden.js"></script>
    
    <script type="text/javascript">
        var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
        document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
    </script>
    <script type="text/javascript">
        try {
            var pageTracker = _gat._getTracker("UA-476124-1");
            pageTracker._trackPageview();
        } catch (err) { }</script>
</body>
</html>
